ホームページ >ウェブフロントエンド >jsチュートリアル >Jquery がマウス ホイール関数を追加する例 code_jquery

Jquery がマウス ホイール関数を追加する例 code_jquery

WBOY
WBOYオリジナル
2016-05-16 17:23:241255ブラウズ

= ['DOMMouseScroll', 'mousewheel'];

$.event.special.mousewheel = {

setup: function () { if (this.addEventListener) { for (var i = tables .length; i;) { this.addEventListener(types[--i], handler, false); } } else { this.onマウスホイール = ハンドラー;
}
},
分解: function () {
if (this.removeEventListener) {
for (var i = type.length; i;) {
this.removeEventListener(types[-- i]、ハンドラー、false);
}
} else {
this.onmousewheel = null;
}
}
};
$.fn.extend({
マウスホイール: function (fn) {
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
},
unmousewheel: function (fn) {
return this.unbind("mousewheel", fn);
}
});

function handler(event) {
var orgEvent = イベント || window.event、args = [].slice.call(arguments, 1)、delta = 0、returnValue = true、deltaX = 0、deltaY = 0;
event = $.event.fix(orgEvent);
event.type = "mousewheel";
// 昔ながらのスクロールホイール デルタ
if (event.originalEvent.wheelDelta) { delta =event.originalEvent.wheelDelta / 120; }
if (event.originalEvent.detail) { delta = -event.originalEvent.detail / 3; }
// 新しいスタイルの多次元スクロール (タッチパッド) deltas
deltaY = delta;
// Gecko
if (orgEvent.axis !== 未定義 && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) { deltaY = 0;

deltaX = -1 * delta;
}
// Webkit
if (orgEvent.wheelDeltaY !== unknown) { Y = orgEvent.wheelDeltaY / 120; }
if (orgEvent.wheelDeltaX !== 未定義) { deltaX = -1 * orgEvent.wheelDeltaX / 120; }
// 引数の前にイベントとデルタを追加します
args.unshift(event, delta, deltaX, deltaY);
return $.event.handle.apply(this, args);
}
})(jQuery);

调用:
$(document).mousewheel(function (e, 詳細) {

}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。