2011-07-30 482 views
0

我試圖做鼠標懸停和顯示拇指後效果不disppearing,這是示例代碼:如何防止鼠標懸停效果鼠標離開

<ul> 
    <li><a href="">testing</a></li> 
    <li><a href="">testing</a></li> 
    <li><a href="">testing</a></li> 
    <li><a href="">testing</a></li> 
    <li><a href="">testing</a></li> 
    <li><a href="">testing</a></li> 
    <img class="img" src="http://jsfiddle.net/img/logo.png" style="display:none"> 
</ul> 

JS腳本:

$('li').hover(
    function(e){ 
    $('.img').css({ 
     'position':'absolute', 
     'left': e.pageX, 
     'top': e.pageY 
    }).fadeIn(); 
}, 
    function(e){ 
    $('.img').hide(); 
}); 

演示可在這裏查看:http://jsfiddle.net/8zG2Q/2/,

問題是當鼠標懸停在物品上時,鼠標離開所有物品後圖像不會隱藏。我已經嘗試使用show()而不是fadeIn(),但這沒有幫助,因爲我從服務器加載圖像,需要時間才能看到。

因此,當鼠標不在任何位置時,隱藏圖像會是一個很好的解決方案嗎?感謝幫助。

+0

作品對我來說很好(即,如果我將鼠標懸停在它上面,圖像就會消失) –

+0

它使用show(),試着再次看到演示。 – bingjie2680

+0

好吧,我現在看到它 –

回答

1

在調用fadeIn(),停止動畫(任選地清除隊列,並且還跳轉到動畫的末尾)然後隱藏元件(​​復位到「基態」),如下所示:

$('li').hover(
    function(e){ 
    $('.img').css({ 
     'position':'absolute', 
     'left': e.pageX, 
     'top': e.pageY 
    }).stop(true,true).hide().fadeIn(); 
}, 
    function(e){ 
    $('.img').hide(); 
}); 
+0

嗨,cheeken,謝謝你的回答,這在我的情況下不起作用,當鼠標懸停時圖像仍然懸在那裏。 – bingjie2680

+0

哦,我看到它適用於我在這裏發佈的示例,您應該得到一些功勞,但我的情況是從服務器加載映像,所以它不能以這種方式工作。但這是一個很好的靈感。 – bingjie2680

+0

我無法重現該問題。你使用的是什麼瀏覽器? – cheeken