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制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
jQuery Dom元素操作技巧
Feb 04 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
jquery层次选择器的介绍
Jan 18 jQuery
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jQuery带控制按钮轮播图插件
Jul 31 jQuery
jQuery冲突问题解决方法
Jan 19 jQuery
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 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 unset全局变量运用问题的深入解析
2013/06/17 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php防止用户重复提交表单
2015/11/02 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
$()JS小技巧
2007/07/21 Javascript
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
pycharm安装图文教程
2017/05/02 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
通信研究生自荐信
2014/02/01 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
淘宝店策划方案
2014/06/07 职场文书
幼师个人总结范文
2015/02/28 职场文书
工地食品安全责任书
2015/05/09 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Django实现聊天机器人
2021/05/31 Python