2015-10-10 50 views
0

我有幾個功能設置爲不同的超時,任何按鈕點擊調用。 出於某種原因,它們都不會在第一次點擊時執行。多設置超時功能沒有在第一次點擊執行

www.bobbysimmonspro.com

此外,作爲一個工具,我會很樂意聽到的方式任何意見我正在接近這一點,插件以簡化和一般提示或調試過程中有用的鏈接像這樣的東西。

$(文件)。就緒(函數(){

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); 


}); 
+1

這只是都錯了,確實沒有理由把事件處理程序的內部超時,這些超時無關與點擊,他們只是延遲添加事件處理程序?還有,刪除對'*'進行門控毫無意義? – adeneo

回答

2

在你的代碼設置與setTimeout的方法事件處理程序。 我猜你真正想要做的是觸發一些動作用戶後的延遲點擊一個按鈕 因此,也許是這樣的:

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

謝謝,Adeneo的評論讓我回到了正確的軌道。現在我有一個不同的問題,但我相信你已經回答了這個問題。 – RedBeardPro

相關問題