时间:2021-05-26
昨天一同学向我求助,说做了一个简单的动画效果,就是图片自动左右播放
复制代码 代码如下:
<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();
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
jQuery中animate()的方法用于创建自定义动画的函数。返回值:jQueryanimate(params,[duration],[easing],[ca
本文实例讲述了jQuery中animate()方法用法。分享给大家供大家参考。具体分析如下:此方法用于创建自定义动画,并且能够规定动画执行时长、擦除效果。动画完
本文实例讲述了jQuery使用animate创建动画用法。分享给大家供大家参考。具体如下:animate的用法:animate(Hashparams,Strin
一、问题引入jquery的animate动画虽然强大,但是无法使用其进行背景色(background-color)的动画效果变化,因为animate动画效果只能
从jQueryAPI文档中可以知道,jQuery自定义动画的函数.animate(properties[,duration][,easing][,complet