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 相关文章推荐
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
微信小程序 教程之注册程序
Oct 17 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
手机注册发送验证码倒计时的简单实例
Nov 15 Javascript
JS求Number类型数组中最大元素方法
Apr 08 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
微信小程序 如何获取网络状态
Jul 26 Javascript
js实现一款简单踩白块小游戏(曾经很火)
Dec 02 Javascript
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
es6中Promise 对象基本功能与用法实例分析
Feb 23 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 Javascript
JavaScript利用html5新方法操作元素类名详解
Nov 27 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 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
Python手机号码归属地查询代码
2016/05/04 Python
Python可变参数用法实例分析
2017/04/02 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
小学门卫岗位职责
2013/12/17 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
Python os和os.path模块详情
2022/04/02 Python