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 浮动广告实现代码
Dec 25 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
Jquery动态替换div内容及动态展示的方法
Jan 23 Javascript
JS中常用的输出方式(五种)
Jun 12 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
vue中实现Monaco Editor自定义提示功能
Jul 05 Javascript
详解Vue 单文件组件的三种写法
Feb 19 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 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 批量删除数据的方法分析
2009/10/30 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
jquery select下拉框操作的一些说明
2010/04/02 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
jQuery实现简单的手风琴效果
2020/04/17 jQuery
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
python使用win32com库播放mp3文件的方法
2015/05/30 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Django中的cookie和session
2019/08/27 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
销售会计岗位职责
2014/03/15 职场文书
车间质检员岗位职责
2015/04/08 职场文书
书法社团活动总结
2015/05/07 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
Java8中Stream的一些神操作
2021/11/02 Java/Android
mysql 子查询的使用
2022/04/28 MySQL