|
復(fù)制代碼 代碼如下:
function wheelEvent(obj, handle)
{
this.handle = handle;
// different events between Firefox and IE
window.addEventListener ? obj.addEventListener("DOMMouseScroll", this.wheel, false) : (obj.onmousewheel = this.wheel);
}
wheelEvent.prototype.wheel = function (event)
{
var ev = event || window.event;
var delta = ev.wheelDelta ? (ev.wheelDelta / 120) : (- ev.detail / 3); // Firefox using `wheelDelta` IE using `detail`
eval ('delta ? ' + parent.handle + '(delta) : null;');
}
在使用的時(shí)候需要定義一個(gè)執(zhí)行函數(shù),用以根據(jù)從上述類(lèi)中獲得的值進(jìn)行操作,并為指定的網(wǎng)頁(yè)元素添加事件。比如
復(fù)制代碼 代碼如下:
function handle(delta)
{
document.getElementById('text').scrollTop -= delta * 20;
}
new wheelEvent(document.getElementById('text'), 'handle');
在上例中第一個(gè)參數(shù)是添加滾輪事件的網(wǎng)頁(yè)元素, id 為 text 的 div;第二個(gè)參數(shù)是執(zhí)行函數(shù)的名字 handle。
其中 handle 函數(shù)必須有且只有一個(gè)參數(shù)delta,滾輪往上滾時(shí) delta 大于 0,往下則小于 0。上例 handle 函數(shù)的作用是用滾輪對(duì) div 實(shí)現(xiàn)滾動(dòng)條的功能
JavaScript技術(shù):javascript 鼠標(biāo)滾輪事件,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。