尝试动态更改Fancybox Data-Src属性



我程序的目的:

单击"外部页面"超链接时,然后执行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

最新更新