2010-03-24 103 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