Jquery delay on fadeout
I have this code that changes the opacity of the div on hover.
$("#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开发者_如何学Python });
I want to have a delay before setting the div back to 0.6 opacity how would i do this
With jQuery 1.4, you have a method called delay
, which takes an integer representing ms you want to delay
$("#navigationcontainer").delay(500).fadeTo("slow", 0.6);
Half a second delay
use set timeout with a callback to the functionality you want and a delay that you want.
$("#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
)
How about
$("#hover_me").hover(function() {
$("#target_div").fadeTo("slow", 1.0);
}, function() {
$("#target_div").delay(800).fadeTo("slow", 0.6);
});
精彩评论