fancybox 2.1.4 - 未捕获的TypeError:无法读取未定义的属性'helpers'

时间:2013-03-16 21:28:36

标签: jquery magento fancybox fancybox-2

对于我正在处理的网站存在一些问题,我似乎无法让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找到。

任何想法请告诉我。 此致 大卫

3 个答案:

答案 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