Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态加载fancybox并附加它?_Javascript_Jquery_Html_Fancybox - Fatal编程技术网

Javascript 动态加载fancybox并附加它?

Javascript 动态加载fancybox并附加它?,javascript,jquery,html,fancybox,Javascript,Jquery,Html,Fancybox,我试图通过getScript动态加载fancybox,然后将其附加到元素。我已经准备好将fancybox动态加载到文档中 就这样 documents ready -> getScript 但是如果我执行console.logjQuery('.fancybox')时,它似乎不想附加到我的a标记(.fancybox),我得到了一个[],但元素已经加载了?如果我输入jQuery('.fancybox').fancybox()仍然不起作用 知道我做错了什么吗 jQuery.getScript("

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

就这样

documents ready -> getScript
但是如果我执行console.log
jQuery('.fancybox')
时,它似乎不想附加到我的a标记(
.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>

文档准备太早,请尝试将其包装在
$(窗口)中。加载(函数(){//code HERE}),因为它只需要在加载DOM后运行,这样它就可以将您的fancybox应用于DOM元素。

试试以下方法:

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

编辑:函数调用已修复

您的解决方案有意义,但是您的函数未正确关闭。它值得您修改代码;)