2013-05-31 71 views
-1

我正在使用mousewheel事件。我想要的東西像功能「開始」和「停止」。每當鼠標滾輪啓動時,啓動函數就會執行,每當鼠標滾輪停止時,停止函數就會執行。jquery中的mousewheel啓動和停止功能

jquery中mousewheel事件中是否有回調函數?

var matched = jQuery.uaMatch(navigator.userAgent); 
var eventName = matched.browser.toLowerCase() == "mozilla" ? "DOMMouseScroll" : "mousewheel"; 
$(this.element).on(eventName, this.chartMouseWheel); 



    chartMouseWheel:function() 
{ 

start: 
{ 
}, 
stop: 
{ 
}, 

} 

我需要在鼠標滾輪結束做一些操作,只要鼠標滾輪啓動並做一些其他的操作?

我該怎麼做?

感謝,

溼婆

回答

1

有jQuery中沒有直接的函數,該函數。

這就是我使用:

window.addEventListener("mousewheel", mousewheel, false); // chrome 
window.addEventListener("DOMMouseScroll", mousewheel, false); // firefox 

mousewheel是函數的名稱)

如果你想車輪只處理當鼠標指針在一個元素,這樣做:

$myElement.mouseenter(function() { 
    window.addEventListener("mousewheel", mousewheel, false); // chrome 
    window.addEventListener("DOMMouseScroll", mousewheel, false); // firefox 
}).mouseleave(function() { 
    window.removeEventListener("mousewheel", mousewheel, false);// chrome 
    window.removeEventListener("DOMMouseScroll", mousewheel, false);// firefox 
}); 

Demonstration

+0

我無法理解您的解決方案。你能解釋一下嗎? – SivaRajini

+0

車輪事件僅發送到窗口。這就是爲什麼我必須綁定/解除綁定才能在一些元素上管理車輪。 –

+0

是否只適用於Chrome和Firefox而不是IE? – SivaRajini

1

在這裏,您可以看到如何攔截鼠標滾輪上下:http://jsfiddle.net/ykv5S/9/

代碼:

$('#test').bind('mousewheel', function(event, delta) { 
    var dir = delta > 0 ? 'Up' : 'Down'; 
    $("#output").html(dir) 
}); 

現在我認爲你需要添加一些步驟,以瞭解鼠標的速度,得到的是== 0


發現了類似的問題,在這樣:這裏一看,也許是有用的:

jquery mousewheel: detecting when the wheel stops?

+0

對不起,我不問關於鼠標滾輪上下。我問了一下mousewheel啓動和停止 – SivaRajini

+0

看看這裏,也許對你的問題有用。 http://stackoverflow.com/questions/3515446/jquery-mousewheel-detecting-when-the-wheel-stops – BeNdErR