未捕获的TypeError:jQuery(...)。fancybox不是wordpress中使用的函数

时间:2016-01-11 09:44:32

标签: javascript jquery wordpress fancybox

我有一个wordpress网站,我想用fancybox显示我的视频,所以我尝试了wp插件,如#34; fancybox for wordpress"和#34;简单的fancybox"。

但是他们都给了我错误信息" Uncaught TypeError:jQuery(...)。fancybox不是函数"。

我在这里搜索了很多问题,发现这可能是jquery冲突,但我无法弄清楚它在哪里。 这是我的网站http://skyblueenglish.co.uk

请注意,我一次只有上述插件之一。

3 个答案:

答案 0 :(得分:1)

根据我的想法,直到我检查,发生了什么, 在word-press中你已经包含了fancybox jQuery,它显然会在你安装插件时安装。现在发生的事情是,在使用某些JS函数或JS类时,必须在使用/包含第三方JS之前包含jQuery文件。

我检查了您网页的“查看来源”。

<script src="http://skyblueenglish.co.uk/wp-content/themes/skybluetheme/js/jquery.min.js"></script>

我发现上面的JavaScript文件包含在页脚中。 我刚删除该行并将其放在

之前
<script type='text/javascript' src='http://skyblueenglish.co.uk/wp-content/plugins/fancybox-for-wordpress/fancybox/jquery.fancybox.js?ver=1.3.4'></script>

,错误已消失。

所以你需要做的是,你必须找到你的页脚,找到包含的jquery.min.js。从页脚中删除它并从标题中包含它。

如果你在任何地方都不懂,请告诉我。

答案 1 :(得分:0)

;( function( $ ) {

 $(document).ready(function(){

    $(".fancybox").fancybox({
       //....
    });

});

} )( jQuery );

答案 2 :(得分:-1)

我在相同的主题上做了很多实验,并且根据我在互联网上找到类似主题的地方尝试了许多不同的解决方法,但是相信我没有为我做任何事情,然后最后我只是试着看看错误说的是什么:

  

未捕获TypeError:$(...)。fancybox不是函数

我只是删除了一条说if($.fn.fancybox!==null)的行。 我不够强大,不能理解Javascript或Jquery更新鲜的东西所以我只是尝试了简单的逻辑,它对我有用lol。 这可能不是正确的解决方案,但只是想分享我的经验,所以也许对某些人来说也可能有用。

通过删除以下代码

,它可以正常工作而不会丢失任何功能
if($.fn.fancybox!==null)
{$("a[class^='fancyBox']").fancybox();
$("a[class^='fancybox-thumb']").fancybox(
{helpers:{title:{type:'outside'},thumbs:{width:50,height:50}}});}

谢谢!