【问题标题】:jquery conflict between nivoSlider and external jquerynivoSlider和外部jquery之间的jquery冲突
【发布时间】:2013-04-02 22:06:17
【问题描述】:

我正在运行一个 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
    ?>

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

【问题讨论】:

    标签: wordpress nivo-slider head jquery


    【解决方案1】:

    在 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() 函数中。

    【讨论】:

    • 非常感谢!我尝试了你的第一种方法,现在它工作得很好。感谢您的帮助,非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 2015-07-28
    • 2012-01-15
    相关资源
    最近更新 更多