2

特定のメディアクエリにヒットしたときにのみ表示されるボタンがあります。これで正常に動作し、ボタンが表示されます。ボタンをクリックすると、サイドナビが表示されます。もう一度クリックするとメニューが閉じます。

私の問題はこれです-私はそれと一緒に切り替えるクラス「open」を持っています。これにより、別のアイコンを使用して開閉を表すことができます。ただし、メニューバーが閉じるまでアイコンが変更されないように、トグルクラスに遅延が必要です。

$(document).ready(function() {
        /* prepend category button */
        $('.side-bar').before('<div id="button"><p class="sidebar-button"> Menu </p></div>'); //insert html for menu button

            $(".sidebar-button").click(function() { //click menu button and do..

                setTimeout(function(){ //i added this..

              $(".side-bar").slideToggle(); //toggle sidebar
              $(this).toggleClass("open"); // toggle class on button for 'open'
            });
        },5000); // other part of the seTimeout
    });

これを達成するための最良の方法は何ですか?この質問の目的のための実例:http://jsfiddle.net/rXt39/2/

編集

これは、似たようなものを探している人に役立つかもしれません。私はここで解決策を見つけました:

jQueryとsetTimeout

注:以下の回答でコードを変更することになりました。現在、完全に機能しています。

4

1 に答える 1

3

メニューのコールバックを使用して、終了時にアイコンをtoggleClassします

      $reference = $(this)

      $(".side-bar").slideToggle(function(){
            $reference.toggleClass("open");           
      });

CSSに.openクラスを追加して、展開中に単語メニューを黄色に変えました。

解決

于 2012-08-17T13:45:47.253 に答える