蓋瑞基實驗室 Your brain networks

9.5.07

用 Javascript 控制滑鼠轉輪

最近Google Map 終於推出台灣的圖資, 雖然不是很完整, 但至少也是個開始, 所以我也拿來試著寫一個interactive application. 發現其中的滑鼠轉輪的 event 操作, 也許可以運用在更多的地方, 所以我也找到了一個很簡單的javascript code 紀錄分享.

//*******************sample code starts here********************************//

** 這個功能是來用作為滑鼠滾動時的反應
* delta 是javascript 對滾輪轉動定義的值
*/
function handle(delta) {
if (delta < 0)
alert("mouse scroll down");
else
alert("mouse scroll up");
}


/** 滑鼠的事件
* 瀏覽器對滑鼠轉動的delta 值有不同定義
* 有不同作法! 請注意
*/
function wheel(event){

var scrollvalue = 0; // 滾輪起始值

if (!event) /* For IE. */
event = window.event;
if (event.wheelDelta) { /* IE/Opera. */
delta = event.wheelDelta/120;
/** In Opera 9, delta differs in sign as compared to IE.
*/
if (window.opera)
delta = -delta;
} else if (event.detail) { /** Mozilla case. */
/** In Mozilla, sign of delta is different than in IE.
* Also, delta is multiple of 3.
*/
delta = -event.detail/3;
}

/** 如果delta 值不是零, 呼叫功用.
* 這是當滑鼠轉動時的作用
* 往上轉是正值, 往下轉是負值
*/

if (delta)
handle(delta);

/**
*避免視窗對於的滑鼠做預設的動作反應
*/

if (event.preventDefault)
event.preventDefault();
event.returnValue = false;
}

** 功能初始
* 將event listner 加上滑鼠
*
*/

if (window.addEventListener)
/** DOMMouseScroll is for mozilla. */

window.addEventListener('DOMMouseScroll', wheel, false);

/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;

//*******************code end********************************//
請剪貼上面post的code 做測試, 你可以用來製造特別風格的scroll bar, 或制作有滑鼠動作的遊戲 ! enjoy!

原始碼來自 adomas

沒有留言: