我程序的目的:
单击"外部页面"超链接时,然后执行JavaScript函数'RandomLink',该函数应动态提供指向Iframe Fancybox的链接;
又应该加载此提供的链接。问题
当前我遇到的问题是:一旦将一个链接分配给了" data-src'属性,而不是按照上述方式行事再次动态替换此属性的值。
如何视觉上查看问题:
通过JavaScript警报消息和" DuckDuckgo" URL表示的" d.getSeconds()"值的比较使此问题显而易见。
首次执行超链接"外部页面"时,'duckduckgo'URL匹配当前'd.getSeconds()'值在JS警报中显示的值,但是在此点再次选择这些值之后将不再匹配。相反,对于URL,与预期的新" d.getSeconds"()'值相比,将在" iframe"中执行第一个" d.getSeconds()"值。
任何帮助解决此问题的帮助。
谢谢。
codepen链接到问题:
http://codepen.io/anon/pen/ymnxrk
html:
<p>
<a data-fancybox data-src="" href="javascript:;" onclick="randomLink(this)">
External page
</a>
</p>
javaScript:
function randomLink(a) {
var d = new Date();
alert(d.getSeconds())
a.setAttribute('data-src', 'https://duckduckgo.com/?q=' + d.getSeconds());
}
我看到的问题是 data-fancybox
属性将 <a>
元素绑定到fancybox,因此与 onclick
属性冲突。
我只需使用onclick
属性即可调用您的 randomLink
函数,然后在目标源随机创建后,在该函数中以编程方式触发fancybox,从而以不同的方法来解决"问题",因此
html:
<a href="javascript:;" onclick="randomLink()">External page</a>
JavaScript:
function randomLink() {
var d = new Date();
alert(d.getSeconds())
var href = 'https://duckduckgo.com/?q=' + d.getSeconds()
$.fancybox.open({
src: href,
type: 'iframe',
opts: {}
})
}
分叉的笔:http://codepen.io/anon/pen/dvybrn