2012-01-06 64 views
1

我有一個幻燈片播放,滾動div來顯示幻燈片中的下一張照片。我還設置了一個功能,在鼠標不活動時隱藏照片說明,但在鼠標移動時顯示說明。Webkit觸發mousemove事件意外(鼠標不移動)

在Firefox中,沒有問題,div會滾動到新照片並且不會觸發mousemove事件。但是,在窗口中使用鼠標的Webkit中,不活動的情況下,每當div滾動到新照片時,會觸發兩三個mousemove事件。

以下是您可以查看的網站。導航到webkit瀏覽器中的投資組合頁面(我想可以打開控制檯),並且在照片循環時,頁腳應該保持隱藏狀態。 http://96.0.13.132/

+0

爲了將來的參考,你應該首先發佈網站,所以你的問題沒有得到票在同一時間關閉。 – 2012-01-06 17:20:49

回答

13

是的,webkit瀏覽器這樣做,我認爲每個瀏覽器都應該這樣做。因爲滾動後光標位於不同的位置,並且可以避免我作爲開發人員遇到的許多問題。

無論如何,如果你想避免它在你的腳本中的後果,只需記錄最新的clientX和clientY位置,並檢查自上次「mousemove」以來是否發生了變化;這樣的事情:

window.addEventListener("mousemove",function(e){ 
    if(window.lastX !== e.clientX || window.lastY !== e.clientY){ 
     // Code when the (physical) mouse actually moves 
    } 
    window.lastX = e.clientX 
    window.lastY = e.clientY 
}) 
+0

伊萬,非常感謝你,這正是我需要的! – curiouser 2012-01-06 18:29:41

相關問題