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 相关文章推荐
两个select之间option的互相添加操作(jquery实现)
Nov 12 Javascript
关于Javascript模块化和命名空间管理的问题说明
Dec 06 Javascript
JavaScript/jQuery 表单美化插件小结
Feb 14 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
Dec 02 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
vuejs如何配置less
Apr 25 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
Jul 26 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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实现监控varnish缓存服务器的状态
2014/12/30 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
Django中几种重定向方法
2015/04/28 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python如何查看微信消息撤回
2018/11/27 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python安装whl文件过程图解
2020/02/18 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
Python 必须了解的5种高级特征
2020/09/10 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
什么是命名空间(NameSpace)
2015/11/24 面试题
奥巴马开学演讲稿
2014/05/15 职场文书
签订劳动合同通知书
2015/04/16 职场文书
亮剑观后感
2015/06/05 职场文书
阿凡达观后感
2015/06/10 职场文书
律师催款函范文
2015/06/24 职场文书
学校教代会开幕词
2016/03/04 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
教你用eclipse连接mysql数据库
2021/04/22 MySQL