您好,登錄后才能下訂單哦!
小編給大家分享一下jQuery如何實(shí)現(xiàn)通過方向鍵控制div塊上下左右移動(dòng)的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
本文實(shí)例講述了jQuery實(shí)現(xiàn)通過方向鍵控制div塊上下左右移動(dòng)的方法。分享給大家供大家參考,具體如下:
在CSS中當(dāng)DOM元素的position
屬性為absolute或relative時(shí),我們可以通過改變這個(gè)元素的left和top屬性的具體值來控制元素在頁面中顯現(xiàn)的位置。
利用上述屬性,我們可以簡(jiǎ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.jb51.net jQuery控制div移動(dòng)</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> </head> <body> <div id="switcher" > </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)行效果:
jquery是一個(gè)簡(jiǎn)潔而快速的JavaScript庫,它具有獨(dú)特的鏈?zhǔn)秸Z法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對(duì)CSS選擇器進(jìn)行擴(kuò)展、擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件,是繼Prototype之后又一個(gè)優(yōu)秀的JavaScript代碼庫,能夠用于簡(jiǎn)化事件處理、HTML文檔遍歷、Ajax交互和動(dòng)畫,以便快速開發(fā)網(wǎng)站。
以上是“jQuery如何實(shí)現(xiàn)通過方向鍵控制div塊上下左右移動(dòng)的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。