如果鼠標停止一個div
我需要調用一個特定的功能,但我需要把它所有的時間以上..當鼠標停在div上方時,如何始終保持調用該函數的功能?
我試過.mouseover()
和.hover()
但這些工作中的鼠標移動
如何正當隨時保持呼叫功能?
如果鼠標停止一個div
我需要調用一個特定的功能,但我需要把它所有的時間以上..當鼠標停在div上方時,如何始終保持調用該函數的功能?
我試過.mouseover()
和.hover()
但這些工作中的鼠標移動
如何正當隨時保持呼叫功能?
的setInterval
功能,您可以根據固定的日程安排功能安排反覆調用:
var intervalKey = setInterval(yourFunction, milliseconds);
的「毫秒」值告訴系統如何長時間通話之間的等待時間。該循環可以通過調用
clearInterval(intervalKey);
被取消,你會怎麼做,是設置在「鼠標懸停」事件的標誌,然後清除標誌中的「鼠標移開」的處理程序。 「mouseover」處理程序也會啓動間隔計時器。定時器功能將檢查標誌以確定是否應該停止(標誌不再設置),並取消自身。
.hover()
只要鼠標懸停就適用於我。它不必保持移動。試了2分鐘沒有問題。 Nothing mentioned here。
您可能不想繼續觸發相同的功能。這將在客戶端的處理器上謀殺。也許超時並重新檢查?
如果您想跟蹤框內的鼠標移動,則需要使用mousemove()
而不是mouseover()
或hover()
。
在這裏看到一個很好的例子:http://www.lbstone.com/reference/jquery/follow_mouse.html
如果你想你問的正是在這個問題 - 即不斷地一遍又一遍地開火同樣的功能,而鼠標在DIV,你仍然需要hover()
或mouseover()
,但當它們觸發時,您需要撥打setTimeout()
啓動重複功能,並在該功能中檢查鼠標是否仍在<div>
之內,如果是,則重複setTimeout()
呼叫。 (或者,使用setInterval()
啓動順序和clearInterval()
來阻止它;同樣的最終結果)
這是一個相當複雜的操作(並充滿可能出現的問題),所以我會避免,如果在所有可能這樣做。這是什麼,你試圖通過這樣做(有一個很好的機會theres更好的方式來做到這一點!-))
你是什麼意思的所有時間?每一秒?每毫秒?緊接着它返回?你可能不想讓你的用戶的CPU着火 - 爲什麼你認爲你需要這個? – bdonlan 2010-10-15 12:57:34