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 相关文章推荐
JQUERY 对象与DOM对象之两者相互间的转换
Apr 27 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
Jan 26 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 Javascript
jquery+html仿翻页相册功能
Dec 20 Javascript
JS实现颜色梯度与渐变效果完整实例
Dec 30 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
Dec 22 Javascript
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
浅谈高大上的微信小程序中渲染html内容—技术分享
Oct 25 Javascript
vue实现滑动超出指定距离回顶部功能
Jul 31 Javascript
Moment.js实现多个同时倒计时
Aug 26 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
PHP中localeconv()函数的用法
2019/03/26 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
js innerHTML 改变div内容的方法
2013/08/03 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python重新引入被覆盖的自带function
2014/07/16 Python
跟老齐学Python之数据类型总结
2014/09/24 Python
Python上下文管理器和with块详解
2017/09/09 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
python解包用法详解
2021/02/17 Python
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
现金会计岗位职责
2013/12/05 职场文书
2014年电工工作总结
2014/11/20 职场文书
接收函格式
2015/01/30 职场文书
鸟的天堂导游词
2015/01/31 职场文书
史上最牛辞职信
2015/05/13 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
施工安全协议书
2016/03/22 职场文书
导游词之太湖
2019/10/08 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js