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 入门基础学习
Mar 10 Javascript
jquery实现智能感知连接外网搜索
May 21 Javascript
js左侧三级菜单导航实例代码
Sep 13 Javascript
JS中表单的使用小结
Jan 11 Javascript
JavaScript中创建对象和继承示例解读
Feb 12 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
jQuery+formdata实现上传进度特效遇到的问题
Feb 24 Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 Javascript
jQuery实现的导航下拉菜单效果示例
Sep 05 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
js加减乘除精确运算方法实例代码
Jan 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的socket通信
2015/08/11 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
新西兰优惠网站:Treat Me
2019/07/04 全球购物
机电一体化毕业生求职信
2013/11/02 职场文书
综合内勤岗位职责
2014/04/14 职场文书
任命书怎么写
2014/06/04 职场文书
白鹤梁导游词
2015/02/06 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python