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单词形式的运算符
May 06 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 Javascript
JavaScript继承学习笔记【新手必看】
May 10 Javascript
让网站自动生成章节目录索引的多个js代码
Jan 07 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 Javascript
vue实现文字加密功能
Sep 27 Javascript
js中Map和Set的用法及区别实例详解
Feb 15 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
杏林同学录(五)
2006/10/09 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
React Native 图片查看组件的方法
2018/03/01 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python 画条形图(柱状图)实例
2020/04/24 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
妈妈的账单教学反思
2014/02/06 职场文书
四议两公开实施方案
2014/03/28 职场文书
霸气队列口号
2014/06/18 职场文书
反腐倡廉标语
2014/06/24 职场文书
公司周年庆典标语
2014/10/07 职场文书
财务经理岗位职责
2015/01/31 职场文书