0

私はマウスホイールイベントを使用しています。関数「開始」と「停止」のようなものが欲しいです。マウスホイールが起動するたびに開始関数が実行され、マウスホイールが停止するたびに停止関数が実行されますか?

jqueryのマウスホイールイベントにコールバック関数はありますか?

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



  chartMouseWheel:function()
{

 start:
{
},
stop:
{
},

}

マウスホイールが開始するたびに何らかの操作を行い、マウスホイールが終了したときに他の操作を行う必要がありますか?

これどうやってするの ?

ありがとう、

シヴァ

4

2 に答える 2

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:ホイールがいつ停止したかを検出しますか?

于 2013-05-31T09:36:08.770 に答える
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
});

デモンストレーション

于 2013-05-31T09:31:40.750 に答える