jQuery實(shí)現(xiàn)通過方向鍵控制div塊上下左右移動(dòng)的方法【測(cè)試可用】
本文實(shí)例講述了jQuery實(shí)現(xiàn)通過方向鍵控制div塊上下左右移動(dòng)的方法。分享給大家供大家參考,具體如下:
在CSS中當(dāng)DOM元素的position
屬性為absolute或relative時(shí),我們可以通過改變這個(gè)元素的left和top屬性的具體值來控制元素在頁面中顯現(xiàn)的位置。
利用上述屬性,我們可以簡單實(shí)現(xiàn)一個(gè)元素在頁面中的移動(dòng)效果,這里我們采用JQuery的animate
方法來實(shí)現(xiàn)動(dòng)畫效果,利用keydown
監(jiān)聽方向鍵按下的事件(這里采用keydown而不是keyup,是為了能夠在方向鍵被一直按著時(shí),元素一直移動(dòng),keydown是監(jiān)聽按下事件,keyup是監(jiān)聽按鍵釋放事件)。這里我們還可以利用animate
方法的一個(gè)特點(diǎn),就是當(dāng)其屬性的值為'+='或'-='之類時(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)容感興趣的讀者可查看本站專題:《jQuery切換特效與技巧總結(jié)》、《jQuery動(dòng)畫與特效用法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jQuery實(shí)現(xiàn)鎖定頁面元素(表格列)
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)鎖定頁面元素,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02jquery下jstree簡單應(yīng)用 - v1.0
jquery下jstree簡單應(yīng)用,學(xué)習(xí)jstree的朋友可以參考下。2011-04-04基于jquery實(shí)現(xiàn)左右按鈕點(diǎn)擊的圖片切換效果
這篇文章主要介紹了基于jquery實(shí)現(xiàn)左右按鈕點(diǎn)擊的圖片切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11jQuery動(dòng)態(tài)添加與刪除tr行實(shí)例代碼
最近由于項(xiàng)目的需要,需要?jiǎng)討B(tài)的添加和刪除table中的tr,感覺用JS可以實(shí)現(xiàn),但是在網(wǎng)上找了一下,單純的自己寫JS,感覺太麻煩,而且也不好維護(hù)。于是想到了最近學(xué)的jQuery。這篇文章給大家用實(shí)例介紹了jQuery動(dòng)態(tài)添加與刪除tr行的方法,有需要的朋友們可以參考借鑒。2016-10-10jquery獲取自定義屬性(attr和prop)實(shí)例介紹
jquery中用attr()方法來獲取和設(shè)置元素屬性,attr是attribute(屬性)的縮寫,在jQuery DOM操作中會(huì)經(jīng)常用到attr(),attr()有4個(gè)表達(dá)式2013-04-04jquery實(shí)現(xiàn)圖片隨機(jī)排列的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)圖片隨機(jī)排列的方法,涉及jQuery操作圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05jQuery實(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ì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12Jquery 基礎(chǔ)學(xué)習(xí)筆記之文檔處理
本節(jié)讓我們繼續(xù)Jquery知識(shí)的了解:文檔處理。文檔處理主要是對(duì)HTML元素進(jìn)行一些增操作,刪除操作,復(fù)制操作,替換操作。2009-05-05