javascript - 停止 .click() 监听器直到 fadeIn() 在 jQuery 中完成

标签 javascript jquery user-interface

$('#div1_button').click(function() {

    $('#div0').fadeOut(function(){          
        $('#div1').fadeIn();    
    });

});

当用户单击 div1_button 时,先前选择的 div0 淡出并且 div1 淡入。如果用户疯狂点击并在 div1 完成淡入之前单击 div2,则 div2 开始淡入并最终 div1 淡出,但它们堆叠在一起彼此顶部,直到 div1 完成淡入然后淡出。我怎样才能停止 .click() 事件,直到单击的 div 完成淡入。

最佳答案

有点像

var div1_bclick_inprogress = false;
$('#div1_button').click(function() {
    if (!div1_bclick_inprogress) {
        div1_bclick_inprogress = true;
        $('#div0').fadeOut(function(){          
            $('#div1').fadeIn(function(){
                 div1_bclick_inprogress = false;
            });    
        });
    }

});

但您可能需要对细节进行一些试验

关于javascript - 停止 .click() 监听器直到 fadeIn() 在 jQuery 中完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788273/

相关文章:

javascript - 设置饼图绘图选项的格式

jquery - 使用 Jquery 一次显示一个隐藏和显示部分

javascript - 仅在单行上对齐所有内容

user-interface - 最适合用户界面的优秀网站有哪些?

javascript - 如何使用 jQuery 和 JS 隐藏/显示元素?

javascript - React Router Dom,使用错误消息重定向到登录页面并在那里显示消息

javascript - 为什么我的处理程序被多次调用?

javascript - Kendo UI 网格 - 抛出错误 (kendo.format ("Cannot call method ' {0 }' of {1} before it is initialized",t,r))

angular - 如何在输入字段右侧对齐 Material 图标?

javascript - jQuery 代码在 while 循环中不起作用