jquery - jquery中的多种功能切换

标签 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');
    }
);

最佳答案

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 自行将之前的 toggle() 实现添加回 jQuery 中。 。但请注意,这未经测试且已过时,可能会干扰其他方法,或依赖不再存在的方法。

关于jquery - jquery中的多种功能切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907273/

相关文章:

Ajax 调用时 Javascript 数组为空

jquery - 如何将文本添加到 jQuery Mobile 可折叠的每个顶 Angular

javascript - 沿着模态移动不起作用

jquery - 使用 jquery 按值更改/修改下拉列表文本

javascript - html 和 javascript 问题(平滑滚动)

jquery - 圆形边框在 Chrome 中不起作用

javascript - HighStocks 需要显示类别而不是日期

javascript - select2 - 根据另一个列表的值限制选择一个列表

jquery - 对类元素进行聚焦或模糊

javascript - 如何改进 JSON 数据的显示