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 禁止鼠标右键并监听右键事件
Apr 27 jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
jquery实现动态改变css样式的方法分析
May 27 jQuery
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
jquery插件懒加载的示例
Oct 24 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导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php实现上传图片文件代码
2015/07/19 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
JS 继承实例分析
2008/11/04 Javascript
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
angular2使用简单介绍
2016/03/01 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
利用Python读取文件的四种不同方法比对
2017/05/18 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
电子商务自荐书范文
2014/01/04 职场文书
机电一体化职业规划书
2014/01/07 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
水知道答案观后感
2015/06/08 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL
python程序的组织结构详解
2021/12/06 Python