-1

私はwordpresを使用し、デフォルトでjquery loadのコアのライブラリをロードします。これは次のとおりです。

js/jquery/jquery.js?ver=1.8.3

私がjqueryの独自のスクリプトを挿入しようとすると、結果は機能しません。たとえば、次のコードのように非常に簡単です。

$(document).ready(function(){

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

});

私のコードの例は、ワードプレスの頭にこれを入れた場合にのみ機能します:

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

このコードをワードプレスのコア jquery まで配置すると、jquery で作成されたすべてのスクリプトが機能し、これを配置しない場合、これが機能しない場合、コアの jquery バージョンまで配置した jquery は同じであるため、なぜこれが発生するのかわかりませんしかし、バージョンの最小

これは非常に奇妙です。私はすべてを試してみましたが、コードが正常に機能せず、jquery のリモート ライブラリを配置または呼び出した場合にのみ機能し、wordpress のロード jquery では機能しない理由がわかりません

よろしく!

4

4 に答える 4

0

デバッガー コンソールを見てください。「jQuery が定義されていません」というエラーが発生していると思いますか?

もしそうなら、それは jQuery との競合の問題のように思えます。なぜなら、Wordpress は競合を使用せずに jQuery もロードするからです。jQuery の代わりに $ を使用すると、$ を使用する他のライブラリで問題が発生する可能性があります。競合しない関数を追加してから、その中に 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.
于 2013-05-14T09:31:10.217 に答える
0

私はWordpressにあまり詳しくありませんが、それは独自のバージョンのjQueryを「競合なし」モードでロードすると信じて$jQueryます$。ただし、できることは、すぐに呼び出される関数式を使用してそれを可能にすることです。

(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

于 2013-05-14T08:54:19.793 に答える
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' );
于 2013-05-14T09:04:21.030 に答える