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 22 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
Jquery Fade用法详解
Nov 06 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中error_reporting()用法详解
2015/08/31 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
JQuery 常用操作代码
2010/03/14 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
python获取list下标及其值的简单方法
2016/09/12 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
大学生旷课检讨书
2014/01/22 职场文书
幼儿教师国培感言
2014/02/19 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
个人工作年终总结
2015/03/09 职场文书
初婚初育证明范本
2015/06/18 职场文书
家长会感言
2015/08/01 职场文书
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫