2014-12-02 106 views
1

這可能很明顯,我對web開發很陌生。無論如何,我試圖在div上創建點擊事件並更改其背景顏色。但是我想要點擊後背景變回原來的顏色。以下是我有:jQuery:單擊div上的指示器

的jQuery:

$('.details1').click(function() { 
    $(this).toggleClass('on').delay(200).toggleClass('on'); 
}); 

CSS:

div.on { 
    background: #F78181; 
} 

我完全不希望毫秒的延遲,這只是用於調試。只是想改變點擊和背景的背景。謝謝。

+1

jQuery的延時一般用於那些隊列的部分項目,如動畫。 toggleClass顯然不是排隊的事件。我通常使用setTimeout(function(),200); – silversunhunter 2014-12-02 01:39:27

+0

我實際上剛剛嘗試過,出於某種原因,我在'setTimeout()'上得到了一個未定義的函數錯誤' – Grux 2014-12-02 01:40:18

+0

http://stackoverflow.com/questions/4544126/jquery-delay-not-working – silversunhunter 2014-12-02 01:41:02

回答

2

你必須使用setTimeout()功能,爲您的問題,而不是延遲()

$('.details1').click(function(){ 
     setTimeout(function(){ $('#clrd').toggleClass('on'); }, 200); 
    }); 

您可以更改時間(毫秒)根據自己的需要的。在這種情況下,它爲200ms

入住這Fiddle