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 相关文章推荐
javascript 动态添加表格行
Jun 22 Javascript
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
Jan 15 Javascript
JavaScript实现多维数组的方法
Nov 20 Javascript
JS模拟按钮点击功能的方法
Dec 22 Javascript
javascript使用闭包模拟对象的私有属性和方法
Oct 05 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
vue2笔记 — vue-router路由懒加载的实现
Mar 03 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
JavaScript实现筛选数组
Mar 02 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发邮件类
2016/08/29 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
微信小程序网络请求封装示例
2018/07/24 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
Javascript的this详解
2019/03/23 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
python比较两个列表是否相等的方法
2015/07/28 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
python实现批量图片格式转换
2020/06/16 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
程序集与命名空间有什么不同
2014/07/25 面试题
STP的判定过程
2012/10/01 面试题
教师求职推荐信范文
2013/11/20 职场文书
成绩单家长评语大全
2014/04/16 职场文书
食品流通安全承诺书
2014/05/22 职场文书
商务英语专业求职信
2014/06/26 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
MySQL创建管理HASH分区
2022/04/13 MySQL
Android存储中最基本的文件存储方式
2022/04/30 Java/Android