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 相关文章推荐
Ajax清除浏览器js、css、图片缓存的方法
Aug 06 Javascript
详解javascript数组去重问题
Nov 06 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
Dec 09 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
jQuery动态生成Bootstrap表格
Nov 01 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
AngularJS select设置默认值的实现方法
Aug 25 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 Javascript
JavaScript中isPrototypeOf函数
Nov 07 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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
再次研究下cache_lite
2007/02/14 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
yii2实现 "上一篇,下一篇" 功能的代码实例
2017/02/04 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
Angular实现form自动布局
2016/01/28 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
党支部承诺书范文
2014/03/28 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
论群众路线学习笔记
2014/11/06 职场文书
个人先进材料范文
2014/12/30 职场文书
文员岗位职责范本
2015/04/16 职场文书