Javascript jQuery在Wordpress 3.5中不工作

Javascript jQuery在Wordpress 3.5中不工作,javascript,jquery,wordpress,themes,wordpress-theming,Javascript,Jquery,Wordpress,Themes,Wordpress Theming,所以我似乎对我的一个旧Wordpress主题有异议。我只是把我的一个主题从黑暗中带出来,作为我的投资组合的一部分,并立即意识到我的jQuery边栏已经完全停止工作,我不知道为什么。现在请注意,我在WordPress实现他们自己的“自定义”侧边栏实现之前编写了这段侧边栏代码(因此我非常不确定这是否与此相关,但对此深表怀疑。我想我是在WordPress 3.1前后开发的)。故障的具体代码位于此处 <script src="//ajax.googleapis.com/ajax/libs/jque

所以我似乎对我的一个旧Wordpress主题有异议。我只是把我的一个主题从黑暗中带出来,作为我的投资组合的一部分,并立即意识到我的jQuery边栏已经完全停止工作,我不知道为什么。现在请注意,我在WordPress实现他们自己的“自定义”侧边栏实现之前编写了这段侧边栏代码(因此我非常不确定这是否与此相关,但对此深表怀疑。我想我是在WordPress 3.1前后开发的)。故障的具体代码位于此处

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="js/sliding_effect.js"></script> <!-- code for jquery menu -->

<?php wp_head(); ?>  

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function()
{
    $(".button-slide").click(function()
    {
        $("#slide-panel").slideToggle("slow");
    });
});

</script>

</head>  
滑动_effect.js

$(document).ready(function()
{
    slide("#sliding-navigation", 25, 15, 150, .8);
});

function slide(navigation_id, pad_out, pad_in, time, multiplier)
{
    // creates the target paths
    var list_elements = navigation_id + " li.sliding-element";
    var link_elements = list_elements + " a";

    // initiates the timer used for the sliding animation
    var timer = 0;

    // creates the slide animation for all list elements 
    $(list_elements).each(function(i)
    {
        // margin left = - ([width of element] + [total vertical padding of element])
        $(this).css("margin-left","-180px");
        // updates timer
        timer = (timer*multiplier + time);
        $(this).animate({ marginLeft: "0" }, timer);
        $(this).animate({ marginLeft: "15px" }, timer);
        $(this).animate({ marginLeft: "0" }, timer);
    });

    // creates the hover-slide effect for all link elements         
    $(link_elements).each(function(i)
    {
        $(this).hover(
        function()
        {
            $(this).animate({ paddingLeft: pad_out }, 150);
        },      
        function()
        {
            $(this).animate({ paddingLeft: pad_in }, 150);
        });
    });
}

您确定在同一页面上包含两个不同版本的jQuery不会导致任何问题吗

jQuery版本的WordPress以无冲突模式加载(调用wp_head();)时可能会包含它)。解释如下:

基本上,您需要用

jQuery(document).ready(function($) {
  // $() will work as an alias for jQuery() inside of this function
});

您是否收到任何控制台错误?我目前正在使用Dreamweaver(CS5)。据我所知,我不相信有控制台输出。有什么特别的东西我应该寻找吗?所以,如果你正在使用像Firebug、Chrome开发者工具等东西(如果你不应该),你有一个javascript控制台,可以向你显示任何javascript错误。我只是想知道你是否有javascript错误。在你选择的浏览器中按F12。单击console选项卡。报告你看到的任何错误:)就在你说我去了一个网站控制台之前。这就是我得到的错误:ReferenceError:找不到变量:$错误引用了启动此$(文档)的行。就绪(function(){$(“.button slide”)。单击(function(){$(“#slide panel”).slideToggle(“slow”);});或者换言之,我的jquery的开始如果你看上面,我的实际滑动效果代码被包装在里面。是否使用$而不是jQuery可能会导致冲突?也许我只是没有完全理解你说的话。您能告诉我上面的参考代码是什么意思吗?请注意美元登录函数($)。请看我发布的链接,它包含许多其他类型的包装函数,可能适合您的需要。编辑:慢reading@TheGamingArt-根据您之前的评论,您得到一个错误:“ReferenceError:找不到变量:$”,然后是,它是$。将$更改为jQuery,看看是否有效。我必须尝试一下并修改所有内容。我的第一枪没起作用。在历史的某个时刻,我似乎因为jQuery给我带来的问题而抛弃了它。不知道为什么这是苏。。。好。。。我的建议是不要包含多个jQuery实例,这会导致问题,而过多的调用对客户端来说是一种开销。输入生成的源代码,看看是否可以找到多个源代码
$(document).ready(function()
{
    slide("#sliding-navigation", 25, 15, 150, .8);
});

function slide(navigation_id, pad_out, pad_in, time, multiplier)
{
    // creates the target paths
    var list_elements = navigation_id + " li.sliding-element";
    var link_elements = list_elements + " a";

    // initiates the timer used for the sliding animation
    var timer = 0;

    // creates the slide animation for all list elements 
    $(list_elements).each(function(i)
    {
        // margin left = - ([width of element] + [total vertical padding of element])
        $(this).css("margin-left","-180px");
        // updates timer
        timer = (timer*multiplier + time);
        $(this).animate({ marginLeft: "0" }, timer);
        $(this).animate({ marginLeft: "15px" }, timer);
        $(this).animate({ marginLeft: "0" }, timer);
    });

    // creates the hover-slide effect for all link elements         
    $(link_elements).each(function(i)
    {
        $(this).hover(
        function()
        {
            $(this).animate({ paddingLeft: pad_out }, 150);
        },      
        function()
        {
            $(this).animate({ paddingLeft: pad_in }, 150);
        });
    });
}
jQuery(document).ready(function($) {
  // $() will work as an alias for jQuery() inside of this function
});