5

我正在处理的网站存在一些问题,我似乎无法让 fancybox 使用 YouTube 剪辑正确测试它。

这是我的脚本文件。使用 2.1.4 和 jQuery 1.9

脚本.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 有问题。当我单击链接时,它只会打开链接,而不是在花式框窗口中打开媒体文件。

在 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 找到

任何想法请告诉我。真诚的,大卫

4

3 回答 3

10

鉴于有数百个观点,还没有答案

$('.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>
于 2013-08-31T18:17:32.830 回答
1

我遇到了同样的错误,因为我愚蠢地在页面上包含了 jquery.fancybox.js 两次。只需删除第二个电话,问题就应该得到解决。

于 2016-01-18T18:08:33.737 回答
0

在 wordpress 中,经过长时间的研究和更新:

已经用 Fancybox 加载了主题,除此之外,我还有一个插件也使用了 fancybox, 这创建了对 Fancybox 的双重调用。Ashish Kumar 指出了这一点。谢谢我只禁用了插件,所有错误都消失了。

主题:旅游套餐

插件:Easy Fancybox

于 2016-09-27T20:49:42.887 回答