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 相关文章推荐
jquery Easyui快速开发总结
Aug 20 Javascript
javascript实现动态标签云
Oct 16 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
Oct 25 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
微信小程序实践之动态控制组件的显示/隐藏功能
Jul 18 Javascript
video.js 实现视频只能后退不能快进的思路详解
Aug 09 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
javascript实现评分功能
Jun 24 Javascript
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php读取mysql的简单实例
2014/01/15 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
JavaScript静态的动态
2006/09/18 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
vue实现行列转换的一种方法
2019/08/06 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
python enumerate内置函数用法总结
2020/01/07 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
override和overload的区别
2016/03/09 面试题
《在大海中永生》教学反思
2014/02/24 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL