2013-01-31 45 views
0

我有一個在頁面加載時可見的元素。當頁面加載時光標已經在元素上時,JQuery懸停在外頁面

在一個理想的世界會發生什麼情況如下:

如果當光標懸停,然後指出的元素,該元素淡出。

在這種情況下可以正常工作,但是如果光標已經在頁面加載的元素上並且光標很快從元素上移開,懸停功能並不總是運行 - 儘管如果你懸停超出元素更慢。

$(".myElement").hover(
    function() { 
    $(this).fadeIn(250); 
    }, 
    function() { 
    $(this).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly 
    } 
); 

的問題似乎是,當光標迅速移動的元素,頁面不註冊,這是比以往任何時候都擺在首位的元素。

+0

嘗試使用「停止」方法。 – undefined

+0

@undefined - 我將如何使用它? – Tom

+0

這裏有很多例子! http://api.jquery.com/stop/ – undefined

回答

0

使用stop();

試試這個

$(".myElement").hover(
    function() { 
    $(this).stop(true, true).fadeIn(250); 
    }, 
    function() { 
    $(this).stop(true, true).fadeOut(250); // This does not happen if cursor already over element on page load and mouse out very quickly 

} );

+0

沒有快樂......問題似乎是,當光標非常快地移動時,它不會註冊爲已經過了元素。 – Tom

相關問題