使用 onKeyUp 和启动变量来控制滑动 onkeyup 就是 onkeydown 相反, 也就是说它用来对键起来这个事件做出反应的. document.onkeydown = keyDown document.onkeyup = keyUp if (ns4) document.captureEvents(Event.KEYDOWN | Event.KEYUP) 下面就是一个完整的程序. function init() { if (ns4) block = document.blockDiv if (ie4) block = blockDiv.style block.xpos = parseInt(block.left) block.active = false document.onkeydown = keyDown document.onkeyup = keyUp if (ns4) document.captureEvents(Event.KEYDOWN | Event.KEYUP) } function keyDown(e) { if (ns4) {var nKey=e.which; var ieKey=0} if (ie4) {var ieKey=event.keyCode; var nKey=0} if ((nKey==97 || ieKey==65) && !block.active) { block.active = true slide() } } function keyUp(e) { if (ns4) {var nKey=e.which; var ieKey=0} if (ie4) {var ieKey=event.keyCode; var nKey=0} if (nKey==97 || ieKey==65) { block.active = false } } function slide() { if (block.active) { block.xpos += 5 block.left = block.xpos setTimeout("slide()",30) } } 以上研究了键盘响应,同样道理,我们可以用鼠标来控制任何动画效果。 程序几乎跟键盘控制的一样。 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) } } 区别在于如何在链接时运用javascript的一些特性: <A HREF="javascript:void(null)" onMouseDown="block.active=true; slide(); return false;" onMouseUp="block.active=false" onMouseOut="block.active=false">move</A> 欢迎咨询/
|