2016-04-28 74 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'); 
    } 
}); 

另外,您可以添加以前實施的toggle()回到jQuery的自己,用original source code。但請注意,這是未經測試和過時的,可能會干擾其他方法,或依賴於不再存在的方法。

+0

thanks..for的另一種方式 – vineet

+0

沒問題,很高興幫助 –