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

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery切換特效與技巧總結(jié)》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jQuery實(shí)現(xiàn)鎖定頁(yè)面元素(表格列)
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)鎖定頁(yè)面元素,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
jquery下jstree簡(jiǎn)單應(yīng)用 - v1.0
jquery下jstree簡(jiǎn)單應(yīng)用,學(xué)習(xí)jstree的朋友可以參考下。2011-04-04
基于jquery實(shí)現(xiàn)左右按鈕點(diǎn)擊的圖片切換效果
這篇文章主要介紹了基于jquery實(shí)現(xiàn)左右按鈕點(diǎn)擊的圖片切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11
jQuery動(dòng)態(tài)添加與刪除tr行實(shí)例代碼
最近由于項(xiàng)目的需要,需要?jiǎng)討B(tài)的添加和刪除table中的tr,感覺(jué)用JS可以實(shí)現(xiàn),但是在網(wǎng)上找了一下,單純的自己寫(xiě)JS,感覺(jué)太麻煩,而且也不好維護(hù)。于是想到了最近學(xué)的jQuery。這篇文章給大家用實(shí)例介紹了jQuery動(dòng)態(tài)添加與刪除tr行的方法,有需要的朋友們可以參考借鑒。2016-10-10
jquery獲取自定義屬性(attr和prop)實(shí)例介紹
jquery中用attr()方法來(lái)獲取和設(shè)置元素屬性,attr是attribute(屬性)的縮寫(xiě),在jQuery DOM操作中會(huì)經(jīng)常用到attr(),attr()有4個(gè)表達(dá)式2013-04-04
jquery實(shí)現(xiàn)圖片隨機(jī)排列的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)圖片隨機(jī)排列的方法,涉及jQuery操作圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
jQuery實(shí)現(xiàn)HTML5 placeholder效果實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)HTML5 placeholder效果實(shí)例,本文目的主要是在需要兼容一些瀏覽器時(shí)使用,需要的朋友可以參考下2014-12-12
深入理解jQuery中l(wèi)ive與bind方法的區(qū)別
本篇文章主要是對(duì)jQuery中l(wèi)ive與bind方法的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
Jquery 基礎(chǔ)學(xué)習(xí)筆記之文檔處理
本節(jié)讓我們繼續(xù)Jquery知識(shí)的了解:文檔處理。文檔處理主要是對(duì)HTML元素進(jìn)行一些增操作,刪除操作,復(fù)制操作,替換操作。2009-05-05

