动态加载fancybox并附加它?

时间:2012-09-09 19:14:27

标签: javascript jquery html fancybox

我正在尝试通过getScript动态加载fancybox,然后将其附加到元素。我将fancybox动态加载到文档中...

就这样。

documents ready -> getScript

但是如果我做一个console.log .fancybox它似乎并不想附加到我的标签(jQuery('.fancybox'))我得到一个[]但该元素已经加载了?如果我在谷歌浏览器的控制台中键入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>

2 个答案:

答案 0 :(得分:0)

文档准备太早,请尝试将其包装在$(window).load(function(){//CODE HERE});中,因为它只需在DOM加载后运行,因此它可以将您的fancybox应用于DOM元素。

答案 1 :(得分:0)

试试这个:

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

编辑:函数调用已修复