jquery中的mousewheel启动和停止功能

时间:2013-05-31 09:30:05

标签: javascript 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:
{
},

}

我需要在鼠标滚轮启动时进行一些操作,并在鼠标滚轮结束时执行其他操作?

我该怎么做?

谢谢,

希瓦

2 个答案:

答案 0 :(得分:2)

在这里,您可以看到如何上下拦截鼠标滚轮:http://jsfiddle.net/ykv5S/9/

代码:

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

现在我认为您需要添加一些步骤来了解鼠标速度,并在= = 0时获取


在SO上找到类似的问题:看看这里,也许很有用:

jquery mousewheel: detecting when the wheel stops?

答案 1 :(得分: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