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单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
20个最常见的jQuery面试问题及答案
May 23 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
jQuery实现评论模块
Aug 19 jQuery
html中两种获取标签内的值的方法
Jun 16 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的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
前端微信支付js代码
2016/07/25 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
详解python程序中的多任务
2020/09/16 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
安全教育心得体会
2013/12/29 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
出纳员岗位职责
2014/03/13 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
安全员岗位职责
2015/02/10 职场文书
2015年检验科工作总结
2015/04/27 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
简述Java中throw-throws异常抛出
2021/08/07 Java/Android