jquery中animate動畫積累的解決方法
更新時間:2013年10月05日 15:56:26 作者:
setTimeout使用時會產(chǎn)生動畫隊列,有可能是在chrome瀏覽器中窗口不處于最前端時動畫的隊列產(chǎn)生積累,下面為大家介紹下詳細的解決方法
昨天一同學向我求助,說做了一個簡單的動畫效果,就是圖片自動左右播放
<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,但把窗口最小化或是瀏覽其他窗口時就話出現(xiàn)快速的播放,過了一會兒又正常了(ie是沒問題的,chrome有問題,firefox也沒問題)。
由于以前也沒遇到過此問題,我也是想了半個多小時,沒搞定,后來翻了翻以前做的筆記,有了答案,那個setTimeout使用時會產(chǎn)生動畫隊列,有可能是在chrome瀏覽器中窗口不處于最前端時動畫的隊列產(chǎn)生積累,當回歸最前端時便一下子爆發(fā)出來了,于是想到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();
復制代碼 代碼如下:
<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,但把窗口最小化或是瀏覽其他窗口時就話出現(xiàn)快速的播放,過了一會兒又正常了(ie是沒問題的,chrome有問題,firefox也沒問題)。
由于以前也沒遇到過此問題,我也是想了半個多小時,沒搞定,后來翻了翻以前做的筆記,有了答案,那個setTimeout使用時會產(chǎn)生動畫隊列,有可能是在chrome瀏覽器中窗口不處于最前端時動畫的隊列產(chǎn)生積累,當回歸最前端時便一下子爆發(fā)出來了,于是想到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();
相關文章
用jquery ajax獲取網(wǎng)站Alexa排名的代碼
其實就是利用了jquery的ajax功能,獲取遠程的xml文件,讀取指定內(nèi)容的代碼,對于學習jquery的朋友是個不錯的參考。2009-12-12jQuery下通過replace字符串替換實現(xiàn)大小圖片切換
實現(xiàn)的效果有點類似于Google picasa相冊不同尺寸圖片的切換效果。本實例通過文字大小(font-size)控制圖片尺寸的做法是跟Google學習的,但是jQuery代碼是根據(jù)效果自己想出來的,邏輯很簡單,沒有什么精妙之處2012-05-05jQuery序列化form表單數(shù)據(jù)為JSON對象的實現(xiàn)方法
這篇文章主要介紹了jQuery序列化form表單數(shù)據(jù)為JSON對象的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09jquery實現(xiàn)每個數(shù)字上都帶進度條的幻燈片
瀏覽網(wǎng)頁時不小心會碰到這樣的一個網(wǎng)站有幻燈片而且每個數(shù)字上面都帶有進度條閑的無聊,自己用jquery實現(xiàn)了一個,因為有一個進度條的播放過程暫不支持ie6,熱愛特效的你可不要錯過了哈2013-02-02