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获取焦点和失去焦点事件代码
Apr 21 Javascript
jquery select多选框的左右移动 具体实现代码
Jul 03 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
JS常用字符串处理方法应用总结
May 22 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
原生JS京东轮播图代码
Mar 22 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
如何手动实现es5中的bind方法详解
Dec 07 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
Layui数据表格之单元格编辑方式
Oct 26 Javascript
vue制作抓娃娃机的示例代码
Apr 17 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&amp;&amp;mysql)五
2006/10/09 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
python3.4中清屏的处理方法
2020/07/06 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物