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 相关文章推荐
JS创建优美的页面滑动块效果 - Glider.js
Sep 27 Javascript
如何判断微信内置浏览器(通过User Agent实现)
Sep 01 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
学习JavaScript设计模式(单例模式)
Nov 26 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 Javascript
vue.js 初体验之Chrome 插件开发实录
May 13 Javascript
vue之数据交互实例代码
Jun 20 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
vue2.x select2 指令封装详解
Oct 12 Javascript
Vue封装的可编辑表格插件方法
Aug 28 Javascript
用js实现放大镜效果
Oct 28 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
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
使用PYTHON创建XML文档
2012/03/01 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
中专自我鉴定
2014/02/05 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
工程资料员岗位职责
2014/03/10 职场文书
指导教师评语
2014/04/26 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
后进生评语大全
2015/01/04 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
springboot读取resources下文件的方式详解
2022/06/21 Java/Android