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 相关文章推荐
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
字符串的replace方法应用浅析
Dec 06 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
Jun 06 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
js微信分享接口调用详解
Jul 23 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
vue 子组件修改data或调用操作
Aug 07 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 21 Javascript
vue打包时去掉所有的console.log
Apr 10 Vue.js
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面向对象编程快速入门
2006/10/09 PHP
用PHP函数解决SQL injection
2006/12/09 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
jQuery 使用个人心得
2009/02/26 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
python Django模板的使用方法
2016/01/14 Python
浅析Python中的多条件排序实现
2016/06/07 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
数据库连接池的工作原理
2012/09/26 面试题
资深地理教师自我评价
2013/09/21 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
大型会议策划方案
2014/05/17 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL