2012-09-09 41 views
0

我想通过getScript动态加载fancybox,然后将它附加到一个元素。我有fancybox动态加载文件内准备好...动态加载fancybox并附加它?

所以它。

documents ready -> getScript 

但它似乎并不想连接到我的标签(.fancybox),如果我做的console.log jQuery('.fancybox')我收到了[],但元件已经加载?如果我在Google 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> 

回答

0

文件准备过早尝试$(window).load(function(){//CODE HERE});包装它,而不是因为它需要后,才DOM加载,因此它可以应用于您的fancybox到你的DOM元素运行。

0

试试这个:

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

编辑:函数调用固定

+0

您的解决方案是有意义的,但是你的功能无法正常关闭。这将值得修改你的代码;) – JFK