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静态作用域的功能。
Dec 25 Javascript
javascript String 的扩展方法集合
Jun 01 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
Sep 17 Javascript
基于jQuery实现滚动刷新效果
Jan 09 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
Oct 26 Javascript
微信小程序使用wxParse解析html的实现示例
Aug 30 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
JavaScript前端开发时数值运算的小技巧
Jul 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
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
详解python里的命名规范
2018/07/16 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
python算的上脚本语言吗
2020/06/22 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
借款担保书范文
2014/05/13 职场文书
数据保密承诺书
2014/06/03 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
受资助学生感谢信
2015/01/21 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js