jQuery實現(xiàn)通過方向鍵控制div塊上下左右移動的方法【測試可用】
本文實例講述了jQuery實現(xiàn)通過方向鍵控制div塊上下左右移動的方法。分享給大家供大家參考,具體如下:
在CSS中當DOM元素的position屬性為absolute或relative時,我們可以通過改變這個元素的left和top屬性的具體值來控制元素在頁面中顯現(xiàn)的位置。
利用上述屬性,我們可以簡單實現(xiàn)一個元素在頁面中的移動效果,這里我們采用JQuery的animate方法來實現(xiàn)動畫效果,利用keydown監(jiān)聽方向鍵按下的事件(這里采用keydown而不是keyup,是為了能夠在方向鍵被一直按著時,元素一直移動,keydown是監(jiān)聽按下事件,keyup是監(jiān)聽按鍵釋放事件)。這里我們還可以利用animate方法的一個特點,就是當其屬性的值為'+='或'-='之類時,它會根據(jù)原先的值先進行計算,再賦給相應(yīng)的屬性,這個和C++的運算符是一致的。
核心代碼如下所示:
$(document).keydown(function(event){
var keyNum = event.which; //獲取鍵值
var Item = $('#switcher'); //要移動的元素
Item.css({position:'relative'}); //設(shè)置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>m.fzitv.net 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'}); //設(shè)置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>
運行效果:

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery切換特效與技巧總結(jié)》、《jQuery動畫與特效用法總結(jié)》、《jQuery擴展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
jQuery的Cookie封裝,與PHP交互的簡單實現(xiàn)
下面小編就為大家?guī)硪黄猨Query的Cookie封裝,與PHP交互的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
了解jQuery技巧來提高你的代碼(個人覺得那個jquery的手冊很不錯)
這個jQuery選擇器實驗室非???,它能在線免費使用,當然你也能下來到本地離線使用。這個測試頁面包含復雜的HTML組合字段,然后你能嘗試預定義使用各種jQuery選擇器。如果這還不夠你也可以自定義選擇器2012-02-02

