Jquery没有进入wordpress

时间:2013-05-14 08:50:06

标签: jquery wordpress

我使用wordpres并默认加载jquery核心库加载它:

JS / jquery的/的jquery.js?版本= 1.8.3

当我去插入我自己的jquery脚本时,结果不起作用,事情很容易,因为这段代码例如没有用:

$(document).ready(function(){

$("#header_sun").fadeIn(4000).delay(4000).fadeOut(4000);
$("body").css("background","#C3DAEC");

});

我的代码示例只有在我输入wordpress的头部时才有效:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

如果我把这个代码放到wordpress的核心jquery所有我在jquery中创建的脚本工作,如果没有把它没有用,我不明白为什么会发生这个因为jquery我把它放到jquery版本的核心它' s相同,但版本minimun

这很奇怪我尝试了所有并且不明白为什么没有工作正常我的代码只有当我把或我调用jquery的远程库并且没有与wordpress的加载jquery一起工作时才有效

问候!

4 个答案:

答案 0 :(得分:0)

我对Wordpress并不熟悉,但我相信它会在“无冲突”模式下加载自己版本的jQuery,这意味着你不能使用$简写jQuery (还有其他JavaScript框架也使用$)。你可以做的是使用一个立即调用的函数表达式来允许你这样做,但是:

(function($) {
    // $ refers to jQuery only inside here
    $(document).ready(function(){
        $("#header_sun").fadeIn(4000).delay(4000).fadeOut(4000);
        $("body").css("background","#C3DAEC");
    });
})(jQuery);

这与开发jQuery插件时使用的语法相同,因为您无法保证$将引用jQuery

答案 1 :(得分:0)

试试吧,

jQuery(document).ready(function(){
   jQuery("#header_sun").fadeIn(4000).delay(4000).fadeOut(4000);
   jQuery("body").css("background","#C3DAEC");
});

因为,librariesprototypemootools等可能会有更多wordpress。 在$中使用,因此可能存在{{1}}的冲突。

答案 2 :(得分:0)

我猜你的代码在wp-head()

中被jquery冲突了

functions.php

中插入此代码
function fix_noconflict() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery' , 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' );
}
add_action( 'wp_enqueue_scripts' , 'fix_noconflict' );

答案 3 :(得分:0)

看看你的调试器控制台,我想你会得到'jQuery is not defined'错误?

如果是这样,这听起来像jQuery的冲突问题,因为Wordpress加载jQuery也没有冲突。使用$而不是jQuery可能会导致其他同时使用$的librares出现问题。您需要添加一个无冲突函数,然后将jQuery放在其中。

jQuery.noConflict();
(function($) {
  $(function() {
    //You can use $ here.
  });
})(jQuery);
// If you have any, your other non jQuery code which uses $ also, can go after here as normal.