jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】


Posted in jQuery onApril 26, 2018

本文实例讲述了jQuery实现通过方向键控制div块上下左右移动的方法。分享给大家供大家参考,具体如下:

在CSS中当DOM元素的position属性为absoluterelative时,我们可以通过改变这个元素的lefttop属性的具体值来控制元素在页面中显现的位置。

利用上述属性,我们可以简单实现一个元素在页面中的移动效果,这里我们采用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>3water.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实现通过方向键控制div块上下左右移动的方法【测试可用】

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
Jquery的Ajax技术使用方法
Jan 21 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
jQuery length 和 size()区别总结
Apr 26 #jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 #jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 #jQuery
手写简单的jQuery雪花飘落效果实例
Apr 22 #jQuery
JQuery元素快速查找与操作
Apr 22 #jQuery
关于jquery layui弹出层的使用方法
Apr 21 #jQuery
jQuery中的for循环var与let的区别
Apr 21 #jQuery
You might like
一个php作的文本留言本的例子(三)
2006/10/09 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
python super用法及原理详解
2020/01/20 Python
python实现井字棋小游戏
2020/03/04 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
美容师的职业规划书
2013/12/27 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
房屋维修申请报告
2015/05/18 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
Vue h函数的使用详解
2022/02/18 Vue.js
Java实现学生管理系统(IO版)
2022/02/24 Java/Android
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
MySQL如何使备份得数据保持一致
2022/05/02 MySQL
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技