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 字符串乘法
Aug 20 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
Jan 11 Javascript
浅谈document.write()输出样式
May 07 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
详解js跨域原理以及2种解决方案
Dec 09 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
js实现网页图片延时加载 提升网页打开速度
Jan 26 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
Oct 11 Javascript
原生js实现获取form表单数据代码实例
Mar 27 Javascript
vue实现多组关键词对应高亮显示功能
Jul 25 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
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python uuid模块使用实例
2015/04/08 Python
pyenv命令管理多个Python版本
2017/03/26 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
项目经理岗位职责
2013/11/11 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
个园导游词
2015/02/04 职场文书
索赔员岗位职责
2015/02/15 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang