0

私の FTP クライアントを台無しにした後、Wordpress の header.php が削除されたので、再コーディングする必要があり、以前は機能していた jQuery スクリプトが機能しなくなりましたが、問題が見つかりません。

これは、複数のセクションを同時に開くことができるアコーディオン スクリプトです。

<script type="text/javascript">

$(document).ready(function() {
        $(".post-list").addClass("ui-accordion ui-accordion-icons ui-widget ui-helper-reset")
            .find("h3.entry-title")
            .addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-top ui-corner-bottom")
            .hover(function() { $(this).toggleClass("ui-state-hover"); })
            .click(function() {
              $(this)
                .toggleClass("ui-accordion-header-active ui-state-active ui-state-default ui-corner-bottom")
                .next().toggleClass("ui-accordion-content-active").slideToggle();
              return false;
        })
        .next()
        .addClass("ui-accordion-content  ui-helper-reset ui-widget-content ui-corner-bottom")
        .hide();

        var d= 0;
        $('.post').each(function() {
            $(this).delay(d).fadeIn(300);
            d += 100;
        });
});

</script>

H3 を見つけ、クラスを追加し、次の div を非表示にすることになっています。これを header.php の head-area に配置すると、必要なすべてのライブラリが読み込まれますが、どういうわけかスクリプトがまったく機能しないようです。

間違いを見つけたり、スクリプトの実装で何が問題なのかを提案したりできますか?

注: ローカルのダミー Web サイトでまったく同じスクリプトを試してみましたが、うまくいきました。

ありがとう!

4

1 に答える 1

0

コンソールに「can't find variable: $」というエラーが表示される場合は、jQuery がロードされていないか、他のライブラリと競合していることを意味します。

最初にコンソールに存在するかどうwindow.$かを確認します。window.jQuery

jQuery代わりに使用してみてください$

<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function() {
        jQuery(".post-list").addClass("ui-accordion ui-accordion-icons ui-widget ui-helper-reset")
            .find("h3.entry-title")
            .addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-top ui-corner-bottom")
            .hover(function() { jQuery(this).toggleClass("ui-state-hover"); })
            .click(function() {
              jQuery(this)
                .toggleClass("ui-accordion-header-active ui-state-active ui-state-default ui-corner-bottom")
                .next().toggleClass("ui-accordion-content-active").slideToggle();
              return false;
        })
        .next()
        .addClass("ui-accordion-content  ui-helper-reset ui-widget-content ui-corner-bottom")
        .hide();

        var d= 0;
        jQuery('.post').each(function() {
            jQuery(this).delay(d).fadeIn(300);
            d += 100;
        });
});

于 2013-05-13T23:41:46.293 に答える