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自带函数备忘 数组
Dec 29 Javascript
JavaScript中“+=”的应用
Feb 02 Javascript
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
关于火狐(firefox)及ie下event获取的两种方法
Dec 27 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
JavaScript 2018 中即将迎来的新功能
Sep 21 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 Javascript
js实现拖拽元素选择和删除
Aug 25 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
Sep 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
博士208HAF收音机实习报告
2021/03/02 无线电
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
JavaScript中继承用法实例分析
2015/05/16 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
Bootstrap插件全集
2016/07/18 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
浅谈python中的占位符
2017/11/09 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
NULL是什么,它是怎么定义的
2015/05/09 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
学习雷锋活动总结
2014/04/29 职场文书
企业宣传语大全
2015/07/13 职场文书
Python如何使用循环结构和分支结构
2022/04/13 Python