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实例教程(19) 使用HoTMetal(7)
Dec 23 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
JavaScript日历实现代码
Sep 12 Javascript
Javascript中获取出错代码所在文件及行数的代码
Sep 23 Javascript
JQuery判断子iframe何时加载完成解决方案
Aug 20 Javascript
jquery 缓存问题的几个解决方法
Nov 11 Javascript
在Firefox下js select标签点击无法弹出
Mar 06 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
Jul 30 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
微信小程序 Tab页切换更新数据
Jan 05 Javascript
简单分析js中的this的原理
Aug 31 Javascript
Vue项目中如何封装axios(统一管理http请求)
May 02 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
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
js 两数组去除重复数值的实例
2017/12/06 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
Python机器学习之决策树算法实例详解
2017/12/06 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
python实现的config文件读写功能示例
2019/09/24 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
银行演讲稿范文
2014/01/03 职场文书
北京大学自荐信范文
2014/01/28 职场文书
服务标语口号
2014/07/01 职场文书
医院党员公开承诺书
2014/08/30 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL