與捕捉鍵盤相似,我們以使用滑鼠來開始任何動畫。下面的這個例子将建立一個超級連結,當把滑鼠在上面按下時,對象移動,當釋放滑鼠鍵時,對象停止移動。
看來這段代碼沒有什麼新的内容。我們仍然需要一個活動變量和讓對象移動的函數:
function init() {
if(ns4) block=document.blockDiv
if(ie4) block=blockDiv.style
block.xpos=parseInt(block.left)
block.active=false
}
function slide() {
if(block.active) {
block.xpos+=5
block.left=block.xpos
setTimeout("slide()",30)
}
}
現在要建立與滑鼠事件有關的連結:
onMouseDown="block.active=true;slide();return false;"
onMouseUp="block.active=false"
onMouseOut="block.active=false">move
“onMouseDown”設定活動變量為“true”,然後調用“slide()”函數來開始動畫。當把滑鼠鍵釋放時,動畫将停止,執行“onMouseUp”指針中的内容。活動變量此時為“false”
“onMouseOut”也把活動變量設為“false”以防出錯。因為如果把滑鼠移開連結後再釋放按鈕,動畫不會停止,因為滑鼠“onMouseUp”事件沒有發生在連結上。但是如果在代碼中加入了“onMouseOut”語句,這個漏洞就可以彌補。
下面是以上所述整個例子的詳細代碼:
Mouse Click Animation
按下面的連結使對象移動
onMouseDown="block.active=true;slide();return false;"
onMouseUp="block.active=false"
onMouseOut="block.active=false">移動
