2012-12-10 46 views
0
$("#slider").live("hover", function(e) { 
    if (e.type == 'mouseenter') { 
     $("#slider").delay(100).fadeIn(); 
    } 
    else { 
     $("#slider").delay(1200).stop(true, true).fadeOut(); 
    } 
}); 

我在jQueryUI中使用了滑塊。我想要實現的是當用戶將鼠標懸停在滑塊上時,它會顯示出來,並且鼠標懸停在其上時,它會淡出。不過,我的情況是在第一次淡出之後,無論將鼠標放在滑塊的哪個位置,滑塊都不會退色。我該如何解決這個問題?由於fadein()淡出後()

+4

滑塊已經走了,沒有什麼''hover''over - 你需要使用'.fadeTo()'來改變不透明度而不設置display:none;'-h ttp://api.jquery.com/fadeTo – ahren

+0

是的。我只是嘗試淡入。這符合我的預期。謝謝 – user782104

回答

2

使用ahren的建議試試這個

$("#slider").hover(function() { 
    $("#slider").fadeTo(1000, 1); 
}, 
function() { 
    $("#slider").fadeTo(1000, 0); 
}); 

小提琴here

0

這是另一種解決方案與mouseovermouseout處理與.animate()方法:

$("#slider").mouseover(function() { 
    $("#slider").stop().animate({"opacity":0},500); 
}).mouseout(function() { 
    $("#slider").stop().animate({"opacity":1},500); 
});