2010-03-24 154 views
9

我有這個代碼,改變懸停div的不透明度。jquery延遲淡出

$("#navigationcontainer").fadeTo("slow",0.6); 

$("#navigationcontainer").hover(function(){ $("#navigationcontainer").fadeTo("slow", 
    1.0); // This sets the opacity to 100% on hover },function(){ 

$("#navigationcontainer").fadeTo("slow", 
    0.6); // This sets the opacity back to 60% on mouseout }); 

我想設置的div回0.6透明度如何將我做之前必須有一個延遲這個

回答

47

使用jQuery 1.4,您有一個名爲delay方法,它表示要毫秒整數延遲

$("#navigationcontainer").delay(500).fadeTo("slow", 0.6); 

半秒鐘的延遲

+0

保持忘了笑萬分感謝 – user272899 2010-03-24 15:51:13

+0

這是偉大的東西!謝謝! – 2015-05-21 20:34:48

2

使用設置超時時間回調到你想要的功能,並要延遲。

$("#navigationcontainer").fadeTo("slow",0.6); 

$("#navigationcontainer").hover(function(){ $("#navigationcontainer").fadeTo("slow", 
    1.0); // This sets the opacity to 100% on hover },function(){ 


var delay = 1000; 
setTimeout(function() 
    { 
     $("#navigationcontainer").fadeTo("slow", 
      0.6); // This sets the opacity back to 60% on mouseout }); 

    }, 
    delay 
) 
0

我如何

$("#hover_me").hover(function() { 
       $("#target_div").fadeTo("slow", 1.0); 
      }, function() { 
       $("#target_div").delay(800).fadeTo("slow", 0.6); 
      }); 
+0

如上所述,取決於jquery 1.4 ... – odavy 2010-03-24 15:21:41