jQuery中animate动画第二次点击事件没反应


Posted in Javascript onMay 07, 2015

用animate做点击翻页动画时发现第二次点击事件动画没反应,而第一次点击有动画效果,代码如下:

$(".page").stop().animate({top:“-300px”}, 800, 'easeInOutExpo');

第二次点击事件动画没反应的原因:top是page元素顶部相与其父元素顶部的距离,第一次点击后,page元素顶部已经移动到距其父元素顶部-300px的位置,第二次点击时的并不是page在移动后的位置继续t移动-300px,而是当前的位置据其父元素顶部-300px。显然第一次已经移动到top:-300px的位置,第二次的top:-300px移动距离为0,所以没反应。
解决方法:

$(".page").stop().animate({top:“-=300px”}, 800, 'easeInOutExpo');

top:“-=300px”,这样第二次点击时会在第一次点击后的位置上继续移动-300px。

如果动画移动的距离是变量,就不能用“-=变量名”来写了:

function down() {
var page_h=$(".page").height(); //687
var page_top=parseInt($(".page").css("top")); //0
var move=wrap_top+page_h;
$(".page").stop().animate({top:move}, 800, 'easeInOutExpo');
};

var page_h=$(".page").height();获取page的高度并赋值给page_h,得到的值是数值;
var page_top=parseInt($(".page").css("top"));获取当前page顶部到其父元素顶部的距离并赋值给page_top,(parseInt:去掉"PX");
var move=wrap_top+page_h;计算移动距离;

这样每次动画都会重新获取“当前page顶部到其父元素顶部的距离”。

注意:$(".page").height()的值是不带px单位的,$(".page").css("top"))的值是带px单位的,需要parseInt将单位px像素单位删除才能计算。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
Firefox outerHTML实现代码
Jun 04 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
Apr 21 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
Sep 12 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
vue获取时间戳转换为日期格式代码实例
Apr 17 Javascript
Layui多选只有最后一个值的解决方法
Sep 02 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
js实现鼠标滑过文字链接色彩变化的效果
May 06 #Javascript
JS实现文字掉落效果的方法
May 06 #Javascript
DOM 高级编程
May 06 #Javascript
js获得当前系统日期时间的方法
May 06 #Javascript
js字符串操作方法实例分析
May 06 #Javascript
ajax+jQuery实现级联显示地址的方法
May 06 #Javascript
javascript十六进制及二进制转化的方法
May 06 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
php mysql索引问题
2008/06/07 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
2010年最佳jQuery插件整理
2010/12/06 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
Python Web框架Tornado运行和部署
2020/10/19 Python
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Python实现汇率转换操作
2020/05/03 Python
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
股权收购意向书
2014/04/01 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
夫妻吵架保证书
2015/05/08 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server
delete in子查询不走索引问题分析
2022/07/07 MySQL