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实现简单漂亮的Nav导航菜单效果
Mar 29 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
jquery与js实现全选功能的区别
Jun 11 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
详解jquery和vue对比
Apr 16 jQuery
jQuery层叠选择器用法实例分析
Jun 28 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
jquery实现简单每周轮换的日历
Sep 10 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获取远程图片并把它保存到本地的代码
2008/04/07 PHP
PHP链表操作简单示例
2016/10/15 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
web 页面分页打印的实现
2009/06/22 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python字符串格式化输出代码实例
2019/11/22 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
银行领导证婚词
2014/01/11 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
道路建设实施方案
2014/03/18 职场文书
调解书格式范本
2015/05/20 职场文书
欠条范文
2015/07/03 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
JavaScript设计模式之原型模式详情
2022/06/21 Javascript