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 相关文章推荐
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 Javascript
推荐10个超棒的jQuery工具提示插件
Oct 11 Javascript
jquery focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
Aug 25 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 jQuery
vue iView 上传组件之手动上传功能
Mar 16 Javascript
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
Jul 22 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中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
python操作gmail实例
2015/01/14 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
Python 变量类型详解
2018/10/10 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
入党综合考察材料
2014/06/02 职场文书
社会工作专业求职信
2014/07/15 职场文书
小学老师对学生的评语
2014/12/29 职场文书
工程催款通知书
2015/04/17 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
大学班长竞选稿
2015/11/20 职场文书
担保书怎么写 ?
2019/04/22 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技