本文實例講述了jQuery實現通過方向鍵控制div塊上下左右移動的方法。分享給大家供大家參考,具體如下:
在CSS中當DOM元素的position
屬性為absolute或relative時,我們可以通過改變這個元素的left和top屬性的具體值來控制元素在頁面中顯現的位置。
利用上述屬性,我們可以簡單實現一個元素在頁面中的移動效果,這里我們采用JQuery的animate
方法來實現動畫效果,利用keydown
監聽方向鍵按下的事件(這里采用keydown而不是keyup,是為了能夠在方向鍵被一直按著時,元素一直移動,keydown是監聽按下事件,keyup是監聽按鍵釋放事件)。這里我們還可以利用animate
方法的一個特點,就是當其屬性的值為'+='或'-='之類時,它會根據原先的值先進行計算,再賦給相應的屬性,這個和C++的運算符是一致的。
核心代碼如下所示:
$(document).keydown(function(event){ var keyNum = event.which; //獲取鍵值 var Item = $('#switcher'); //要移動的元素 Item.css({position:'relative'}); //設置position switch(keyNum){ //判斷按鍵 case 37: Item.animate({left:'-=20px'});break; case 38: Item.animate({top:'-=20px'});break; case 39: Item.animate({left:'+=20px'});break; case 40: Item.animate({top:'+=20px'});break; default: break; }});
完整示例代碼如下:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>www.49028c.com jQuery控制div移動</title><script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script></head><body><div id="switcher" style="width:200px;height:200px;border:solid 1px #000;"></div><script>$(document).keydown(function(event){ var keyNum = event.which; //獲取鍵值 var Item = $('#switcher'); //要移動的元素 Item.css({position:'relative'}); //設置position switch(keyNum){ //判斷按鍵 case 37: Item.animate({left:'-=20px'});break; case 38: Item.animate({top:'-=20px'});break; case 39: Item.animate({left:'+=20px'});break; case 40: Item.animate({top:'+=20px'});break; default: break; }});</script></body></html>
運行效果:
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery切換特效與技巧總結》、《jQuery動畫與特效用法總結》、《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery常見經典特效匯總》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答