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实现全选、全不选以及单选功能
Mar 23 jQuery
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
jQuery操作css样式
May 15 jQuery
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
jquery版轮播图效果和extend扩展
Jul 18 jQuery
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
jQuery滑动效果实现方法分析
Sep 05 jQuery
jQuery 实现扁平式小清新导航
Jul 07 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 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 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
php学习笔记之基础知识
2014/11/08 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
python写日志封装类实例
2015/06/28 Python
全面分析Python的优点和缺点
2018/02/07 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Python正则表达式和元字符详解
2018/11/29 Python
int在python中的含义以及用法
2019/06/27 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
python打造爬虫代理池过程解析
2019/08/15 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Python3 assert断言实现原理解析
2020/03/02 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
赔偿协议书范本
2014/04/15 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
Vue3中的Refs和Ref详情
2021/11/11 Vue.js