2016-04-28 83 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

没问题,很高兴帮助 –