0

書こうとしている jquery スクリプトに問題があります。それは私には正しいように見えますが、まだ完全ではありません。これが機能しない理由を誰かが理解してくれますか?

jQuery('.expand').click(function(){
    jQuery('.expandnav').find('div.menu-body').show('slow');

    if( ('.menu-body').is(':visible') ){
        (this).addClass('collapse-active');
    }else{
        (this).removeClass('collapse-active');
    }
});

.expand をクリックすると .menu-body が表示されますが、条件が実行されていないようです。アラートでテストしましたが、応答がありません...

ページには多数あるため、個々のアコーディオンで toggleClass を使用していますが、+、- 画像を交換するには addClass/removeClass が必要です。それが理にかなっていることを願っています。要点は、条件が応答していないことです。

どんな助けでも大歓迎です

4

1 に答える 1

1

callbackのメソッドを使用することをお勧めします。$.fn.show詳細については、 http://api.jquery.com/show/を参照してください。

提案された変更を示すフィドルは次のとおりです: http://jsfiddle.net/pewt8/

于 2012-09-15T05:49:30.357 に答える