jQuery实现用方向键控制层的上下左右移动


Posted in Javascript onJanuary 13, 2013

题目:按下方向键时,使层向相应的方向平滑移动20像素;四个方向键的键码分别是37(左)、38(上)、39(右)和40(下)。

然后我写了下面的代码

jQuery实现用方向键控制层的上下左右移动

$div就是要移动的层,且它的position已在CSS中设为relative。瞄一眼好像没什么问题,运行之后发现下面的问题:

1.按了向下之后,再按向上没有反应。

2.按了向右之后,再按向左没有反应。

后来经一网友点拨,恍然大悟:

当按了向下的时候,top值为20px,这时候再按向上,从Firebug可以看出此时的bottom值也是20px,而层没有向上移动是因为浏览首先解析的是top,也就是说{top:20px;bottom:100px}和{top:20px}是一样的,不管bottom值是多少。按了向右之后,按向左没有反应也是这个原因,关键在left值。

于是将代码改了下

jQuery实现用方向键控制层的上下左右移动

运行之后如预期一样,上下左右都没问题。

体会:一直都知道在定位的时候,靠top和left两个属性就足够的,偏偏还写出了right/bottom,真是细节要人命啊。

Javascript 相关文章推荐
分享27款非常棒的jQuery 表单插件
Mar 28 Javascript
在网站上应该用的30个jQuery插件整理
Nov 03 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
Aug 07 Javascript
JS实现窗口加载时模拟鼠标移动的方法
Jun 03 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
D3.js中强制异步文件读取同步的几种方法
Feb 06 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
JS将unicode码转中文方法
May 08 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
简单学习5种处理Vue.js异常的方法
Jun 17 Javascript
js模仿html5 placeholder适应于不支持的浏览器
Jan 13 #Javascript
ie6下png图片背景不透明的解决办法使用js实现
Jan 11 #Javascript
关于全局变量和局部变量的那些事
Jan 11 #Javascript
jquery延迟加载外部js实现代码
Jan 11 #Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
Jan 11 #Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
Jan 11 #Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
Jan 11 #Javascript
You might like
PHP之autoload运行机制实例分析
2014/08/28 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
PHP7 windows支持
2021/03/09 PHP
收集的10个免费的jQuery相册
2011/02/26 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python之reload流程实例代码解析
2018/01/29 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Python Pillow Image Invert
2019/01/22 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
优秀经理事迹材料
2014/02/01 职场文书
质量承诺书格式
2014/05/20 职场文书
信用卡工作证明模板
2014/09/14 职场文书
公司酒会主持词
2015/07/02 职场文书
团委副书记工作总结
2015/08/14 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
详解MySQL的半同步
2021/04/22 MySQL
python通过函数名调用函数的几种方法总结
2021/06/07 Python
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL