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返回定位插件详解
May 15 jQuery
jQuery列表检索功能实现代码
Jul 17 jQuery
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 jQuery
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 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
星际争霸中的热键
2020/03/04 星际争霸
PHP中的替代语法介绍
2015/01/09 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
JS原型对象操作实例分析
2020/06/06 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
python的id()函数解密过程
2012/12/25 Python
Django框架中方法的访问和查找
2015/07/15 Python
基于python实现微信模板消息
2015/12/21 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python 安装impala包步骤
2020/03/28 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
python在地图上画比例的实例详解
2020/11/13 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
酒店门卫岗位职责
2013/12/29 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
妈妈别哭观后感
2015/06/08 职场文书
入党申请书怎么写?
2019/06/21 职场文书