2013-12-21 63 views
0

我有以下星型閃爍效果的功能,它是動畫序列的一部分。如何停止jQuery fadeIn/Out循環,stop()不起作用

function fadeInOut() 
    { 
    $('#stars').fadeIn(800, function() { 
     $('#stars').fadeOut(800, function() { 
       $('#stars').fadeIn(800, function() { 
        setTimeout(fadeInOut, 500); 
       }); 
      }); 
     }); 
    setTimeout(fadeInOut, 12500); 
    } 

在動畫結束時,我給出了一個重播它的選項。爲此,我想阻止這種閃爍效應。我嘗試了以下,但它沒有奏效。

function replayAnim() 
    { $('#stars').clearQueue().stop(true); animStart();} 

有人可以請我指出正確的方向。

謝謝!

+0

嘗試刪除clearQueue(),只是有.stop() – codeninja

+0

嘗試,很好,但沒有運氣。 – kulpreet

回答

0

您將需要清除計時器太

var timer; 
function fadeInOut() { 
    $('#stars').fadeIn(800, function() { 
     $('#stars').fadeOut(800, function() { 
      $('#stars').fadeIn(800, function() { 
       timer = setTimeout(fadeInOut, 500); 
      }); 
     }); 
    }); 
    timer = setTimeout(fadeInOut, 12500); 
} 

function replayAnim() { 
    clearTimeout(timer) 
    $('#stars').clearQueue().stop(true); 
    animStart(); 
} 
+0

謝謝!有用。你先生是救命恩人:) – kulpreet