动态加载fancybox并将其连接

Dynamically load fancybox and attach it?

本文关键字:连接 加载 fancybox 动态      更新时间:2023-09-26

我正试图通过getScript动态加载fancybox,然后将其附加到一个元素。我已经准备好了在文档中动态加载fancybox。。。

就这样。

documents ready -> getScript

但是,如果我执行console.log jQuery('.fancybox'),它似乎不想附加到我的a标记(.fancybox)。我得到了一个[],但元素已经加载了?如果我在谷歌Chrome的控制台中输入jQuery('.fancybox').fancybox();,它仍然不起作用?

知道我做错了什么吗?

jQuery.getScript("/fancybox/jquery.fancybox.pack.js", function() {
      console.log(jQuery(".fancybox"),jQuery("a"));
      return jQuery(".fancybox").fancybox();
    });

元素是一个包装图像的简单标签,它不是动态加载的。

<div class="youtube"><a href="http://www.youtube.com/watch?v=1svYgdfgfdf" class="fancybox"><img height="181" src="images/youtube-video.png" width="326"></a></div>

document ready为时尚早,请尝试将其包装在$(window).load(function(){//CODE HERE});中,因为它只需要在加载DOM后运行,这样它就可以将您的fancybox应用于您的DOM元素。

试试这个:

jQuery.getScript("/fancybox/jquery.fancybox.pack.js", function() {
  jQuery(document).ready(function() {
    jQuery(".fancybox").fancybox();
  });
});

EDIT:函数调用修复