javascript - 首次单击时不执行多个设置超时功能

标签 javascript jquery events settimeout target

我有几个函数设置为不同的超时,在任何按钮单击时都会调用这些函数。 由于某种原因,所有这些都不会在第一次点击时执行。

www.bobbysimmonspro.com

此外,作为侧边栏,我很乐意听到有关我处理此问题的方式的任何意见、用于简化的插件以及有关调试此类内容的过程的一般提示或有用链接。

$( 文档 ).ready(function() {

var panelClassName = 'show-front';

$("#cube").toggleClass("backFace");


setTimeout(function(){ 
    $("#show-buttons").on('click', '*', function() {
        $("#cube").removeClass("backFace");
        $("#cube").animate({opacity: .3});
        $("#cube").removeClass( panelClassName );   
    });
}, 500);

setTimeout(function(){ 
    $("#show-buttons").on('click', '*', function() {
            panelClassName = event.target.className;
        });     
}, 1000);


setTimeout(function(){ 
    $("#show-buttons").on('click', '*', function() {        
        $("#cube").addClass( panelClassName );
        $("#cube").animate({opacity: 1});   
    });     
}, 3000);

setTimeout(function(){ 
    $("#show-buttons").on('click', '*', function() {
        $("#cube").addClass("backFace");
    });
}, 3500);


});

最佳答案

在代码中,您使用 setTimeout 方法设置事件处理程序。 我想您真正想做的是在用户单击按钮后延迟触发一些操作。 所以也许是这样的:

$("#show-buttons").on('click', '*', function() {
    setTimeout(function(){
        $("#cube").removeClass("backFace");
        $("#cube").animate({opacity: .3});
       $("#cube").removeClass( panelClassName );   
    }, 500);
});

关于javascript - 首次单击时不执行多个设置超时功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33055306/

相关文章:

javascript - 与 Redux react ? 'context' 问题呢?

javascript - Google Chrome 未经授权的响应导致弹出窗口

javascript - 获取对象模型,包括其内容

events - beforeRequest事件jqGrid : set jqGrid page before url is called

javascript - 将 polymer 教程从 0.5 迁移到 1.0

javascript - 检测广告 block 脚本,仅在硬重新加载时正常运行

javascript - 使用 javaScript 提交表单时如何更新 div 的内容

javascript - 为什么 div id ="in"不留在旁边 div id ="out",在此代码上?

python - overrideredirect(True) 后重制窗口在调整大小后移动困难

wpf - 内置WPF控件如何管理其事件处理程序以处理附加事件?