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平滑滚动到顶部插件使用详解
May 08 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
jquery实现上传文件进度条
Mar 26 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jquery轮播图插件使用方法详解
Jul 31 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 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获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
Python功能键的读取方法
2015/05/28 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
python实现扫雷游戏的示例
2020/10/20 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
C#面试问题
2016/07/29 面试题
自荐信包含哪些内容
2013/10/30 职场文书
大学毕业感言
2014/01/10 职场文书
机械专业求职信
2014/05/25 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
感恩节寄语2015
2015/03/24 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
MySQL分库分表详情
2021/09/25 MySQL