jquery中animate动画积累的解决方法


Posted in Javascript onOctober 05, 2013

昨天一同学向我求助,说做了一个简单的动画效果,就是图片自动左右播放

<span style="white-space:pre"> </span>/* 无缝式焦点图 */ 
var _left = 770; 
var left = -_left;//-770 
function slideImg() { 
if(left == -3080 || left == 0) { 
_left = -_left; 
} 
$('.slidepics').animate({'left': left + 'px'},1000); 
left = left - _left; 
tim = setTimeout(slideImg,5000); 
} 
slideImg();

我瞅了下,挺简单的,乍一看,没啥问题啊。后来他就说了困扰他一个月的奇怪问题,他说窗口在最前端时是ok,但把窗口最小化或是浏览其他窗口时就话出现快速的播放,过了一会儿又正常了(ie是没问题的,chrome有问题,firefox也没问题)。 由于以前也没遇到过此问题,我也是想了半个多小时,没搞定,后来翻了翻以前做的笔记,有了答案,那个setTimeout使用时会产生动画队列,有可能是在chrome浏览器中窗口不处于最前端时动画的队列产生积累,当回归最前端时便一下子爆发出来了,于是想到jquery中的stop方法,该方法是停止所有在此元素上的动画。果然,加上后就ok了

<span style="white-space:pre"> </span>/* 无缝式焦点图 */ 
var _left = 770; 
var left = -_left;//-770 
function slideImg() { 
if(left == -3080 || left == 0) { 
_left = -_left; 
} 
$('.slidepics').stop().animate({'left': left + 'px'},1000); 
left = left - _left; 
tim = setTimeout(slideImg,5000); 
} 
slideImg();
Javascript 相关文章推荐
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
Jan 27 Javascript
javascript中bind函数的作用实例介绍
Sep 28 Javascript
JavaScript实现的链表数据结构实例
Apr 02 Javascript
jQuery事件绑定与解除绑定实现方法
Apr 15 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
解决angular2 获取到的数据无法实时更新的问题
Aug 31 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
Vue.js下拉菜单组件使用方法详解
Oct 19 Javascript
jQuery.fn和jQuery.prototype区别介绍
Oct 05 #Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 #Javascript
javascript自启动函数的问题探讨
Oct 05 #Javascript
纯js简单日历实现代码
Oct 05 #Javascript
JS教程:window.location使用方法的区别介绍
Oct 04 #Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 #Javascript
jquery parent和parents的区别分析
Oct 02 #Javascript
You might like
解析php中获取系统信息的方法
2013/06/25 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
JS 常用校验函数
2009/03/26 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python删除某个目录文件夹的方法
2020/05/26 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
PyQt5实现登录页面
2020/05/30 Python
销售找工作求职信
2013/12/20 职场文书
小学数学国培研修日志
2015/11/13 职场文书
辞职信怎么写?
2019/05/21 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL