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 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
javascript 写类方式之六
Jul 05 Javascript
js 3种归并操作的实例代码
Oct 30 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
Nov 26 Javascript
jQuery操作JSON的CRUD用法实例
Feb 25 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
Dec 11 Javascript
第一章之初识Bootstrap
Apr 25 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
微信小程序版翻牌小游戏
Jan 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
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
javascript之Partial Application学习
2013/01/10 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
家长评语大全
2014/01/22 职场文书
毕业晚会主持词
2014/03/24 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
同意迁入证明模板
2014/10/26 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
四年级作文之植物
2019/09/20 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL