0

在我的wordpress网站的functions.php中,我有这个代码来调用jquery:

    function my_scripts_method() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method');

但是,此代码与此 jquery 代码冲突:

$(function() {
    $('#menu > li').hover(
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-55px'  /* para não elevar muito o separador*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'-10px'
                }, 400);
        },
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-130px'  /* para baixar o separador para o sitio original*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'50px'
                }, 400);
        }
    );
});

我确定这是问题所在,因为如果我直接在页面顶部调用http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js插件可以工作。我试图避免使用 jquery.noConflict 以避免同一页面上的其他 jquery 插件出现问题。

有什么提示吗?

4

2 回答 2

0

很高兴它对你有用,但你最好使用 wp_enqueue。

查看这篇文章http://digwp.com/2009/06/include-jquery-in-wordpress-the-right-way/

您也可以尝试用“jQuery”替换“$”选择器。Wordpress 包含许多库作为核心的一部分,并且 $ 用于更多不仅仅是 jQuery。

于 2012-07-11T13:30:14.950 回答
0

你在哪里加载脚本?

如果它在页脚中,请尝试以下操作:

    (function($) {
    $('#menu > li').hover(
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-55px'  /* para não elevar muito o separador*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'-10px'
                }, 400);
        },
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-130px'  /* para baixar o separador para o sitio original*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'50px'
                }, 400);
        }
    );
})( jQuery );

如果它在标题中,请尝试以下操作:

jQuery(document).ready(function( $ ) {  
    $('#menu > li').hover(
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-55px'  /* para não elevar muito o separador*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'-10px'
                }, 400);
        },
        function () {
            var $this = $(this);
            $('a',$this).stop(true,true).animate({
                    'bottom':'-130px'  /* para baixar o separador para o sitio original*/
                }, 300);
            $('i',$this).stop(true,true).animate({
                    'top':'50px'
                }, 400);
        }
    );
});
于 2012-07-11T05:04:42.660 回答