2016-04-28 14 views
2

jqueryのトグル機能の中に複数の機能がありますが、実行の流れを理解できません。 jqueryオフィシャルサイトにも文書がありません。jqueryの複数の機能トグル

$('#menu-toggle').toggle(
    function() { 
     console.log('toggle 1 fn'); 
     $('body').addClass('left-side-collapsed').removeClass('sidebar-colors'); 
     $('#sidebar .slimScrollDiv').css('overflow', 'initial'); 
     $('#sidebar .menu-scroll').css('overflow', 'initial'); 
    }, function() { 
     console.log('toggle 2 fn'); 
     $('body').removeClass('left-side-collapsed') 
     $('#sidebar .slimScrollDiv').css('overflow', 'hidden'); 
     $('#sidebar .menu-scroll').css('overflow', 'hidden'); 
    } 
); 
+0

http://www.tutorialspoint.com/jquery/events-toggle.htm –

+0

https://api.jquery.com/toggle-event/ –

答えて

2

、要素のクリックで順番に実行されます各機能を、複数のパラメータを取るために使用さtoggle()方法 - :ここで

は関数です。

jQuery 1.8以降、このパターンは廃止され、1.9ではソースから完全に削除されました。あなたが要素の上に現在あるものをクラスチェックして、それを自分で切り替え、このような何かする必要があるだろう、それを複製するには:

$('#menu-toggle').click(function() { 
    if ($('body').hasClass('left-side-collapsed')) { 
     $('body').removeClass('left-side-collapsed') 
     $('#sidebar .slimScrollDiv, #sidebar .menu-scroll').css('overflow', 'hidden'); 
    } else { 
     $('body').addClass('left-side-collapsed').removeClass('sidebar-colors'); 
     $('#sidebar .slimScrollDiv, #sidebar .menu-scroll').css('overflow', 'initial'); 
    } 
}); 

別の方法としては、original source codeを使用して、jQueryのにに身をtoggle()バックの以前の実装を追加することができます。ただし、これはテストされておらず、古いものであり、他のメソッドを妨害したり、もはや存在しないメソッドに頼ったりすることに注意してください。

+0

代替方法 – vineet

+0

を助けるために喜んで問題ありません、thanks..for –

関連する問題