对于我正在处理的网站存在一些问题,我似乎无法让fancybox正常使用YouTube剪辑进行测试。
这是我的脚本文件。 使用2.1.4与jQuery 1.9
的script.js
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j('.flexslider').flexslider({
animation: "slide"
});
$j('.fancybox-media').fancybox({
openEffect : 'none',
closeEffect : 'none',
helpers : {
media : {}
}
});
});
flexslider工作得很好但是fancybox-media有问题。 当我点击链接时,它只是打开链接,而不是在fancybox窗口中打开媒体文件。
在Chrome控制台内部,它说
Uncaught TypeError: Cannot read property 'helpers' of undefined jquery.fancybox-media.js:88
(anonymous function) jquery.fancybox-media.js:88
(anonymous function) jquery.fancybox-media.js:196
链接定义为:
<h2><a class="fancybox-media" href="http://www.youtube.com/watch?v=czQipWJA8EU">Watch This Video</a></h2>
此外,如果您想查看开发中的网站 它可以在www.miems.co找到。
任何想法请告诉我。 此致 大卫
答案 0 :(得分:9)
鉴于有数百个观点而且还没有答案
在
$('.fancybox').fancybox();
在调用fancybox 中的任何其他代码之前,需要调用
在我的情况下,我改变了执行javascript的顺序, 从:
<script type="text/javascript" src="/static/js/jquery.fancybox-thumbs.js?v=1.0.7"></script>
<script type="text/javascript" src="/static/js/jquery.fancybox.js?v=2.1.5"></script>
为:
<script type="text/javascript" src="/static/js/jquery.fancybox.js?v=2.1.5"></script>
<script type="text/javascript" src="/static/js/jquery.fancybox-thumbs.js?v=1.0.7"></script>
答案 1 :(得分:1)
我遇到了同样的错误,因为我愚蠢地在页面上两次包含了jquery.fancybox.js。只需删除第二个电话,问题就应该解决了。
答案 2 :(得分:0)
在wordpress中, 经过长时间的研究和更新:
主题已经加载了Fancybox,除此之外我还有一个插件也使用了fancybox, 这创建了对Fancybox的双重调用。 Ashish Kumar指出了这一点。谢谢 我只是禁用了插件,所有错误都消失了。
主题:tourpackage
插件:Easy Fancybox