nivoSlider和外部jquery之间的jquery冲突

时间:2013-04-02 22:06:18

标签: wordpress nivo-slider head jquery

我正在运行一个wordpress网站,该网站的主页上有一个Nivoslider。我不得不使用另一个插件,所以为了工作,我需要在header.php文件中包含jquery,在'head'标签内。现在当我在<?php wp_head(); ?>下包含jquery文件时,Nivo滑块不起作用并卡在加载屏幕上。我尝试在互联网上搜索此问题并尝试了一个解决方案,我在<?php wp_head(); ?>上面添加了以下代码:

<?php
    wp_deregister_script('jquery'); // Remove the default jQuery script
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false); // Register the Google hosted Version
    wp_enqueue_script('jquery'); // Enqueue the Google Hosted version
    ?>

<?php wp_head(); ?>上方添加此代码后,滑块的第一张幻灯片现在只显示,我无法通过单击下一个/上一个按钮在幻灯片之间切换。此外,当我从header.php文件中删除代码<?php wp_head(); ?>并添加jquery文件时,我的其他插件开始正常工作但滑块停止工作。我假设jquery被加载两次导致冲突,但我似乎无法找到问题产生的地方。这是我运行Nivoslider和其他插​​件的网站:http://ignoremusic.com/

1 个答案:

答案 0 :(得分:2)

在JS控制台中看到错误:

Uncaught TypeError: Property '$' of object [object Object] is not a function 

在wordpress中,您可能会遇到嵌入了jquery版本的一些问题。 而不是使用:

$('#div').hide()

试试这个:

jQuery('#div').hide()

或者您可以使用JQuery.noConflict()

http://api.jquery.com/jQuery.noConflict/

我个人将滑块的JS代码嵌入到noConflict()函数中。