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 实现Tab效果 思路是js思路
Mar 02 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
js post方式传递提交的实现代码
May 31 Javascript
js实现select跳转功能代码
Oct 22 Javascript
JavaScript实现将UPC转换成ISBN的方法
May 26 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
Aug 15 Javascript
js使用swiper实现层叠轮播效果实例代码
Dec 12 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
May 01 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
function foo的原型与prototype属性解惑
2010/11/19 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
ES6的新特性概览
2016/03/10 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
python编程线性回归代码示例
2017/12/07 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
食堂标语大全
2014/06/11 职场文书
争先创优活动总结
2014/08/27 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书