2013-12-11 18 views
0

想要知道如何在顯示新文字時停止動畫。一切正常,但當顯示新文字時,它會保持動畫效果。如何在數字命中時停止動畫0

$(function(){ 

var note = $('#note'), 
    ts = new Date(2013, 11, 11), 
    newYear = true; 

if((new Date()) > ts){ 
    // The new year is here! Count towards something else. 
    // Notice the *1000 at the end - time must be in milliseconds 
    ts = (new Date()).getTime() + 00*00*00*00*0000; 
    newYear = false; 
} 

$('#countdown').countdown({ 
    timestamp : ts, 
    callback : function(days, hours, minutes, seconds){ 

     var message = ""; 

     message += days + " day" + (days==1 ? '':'s') + ", "; 
     message += hours + " hour" + (hours==1 ? '':'s') + ", "; 
     message += minutes + " minute" + (minutes==1 ? '':'s') + " and "; 
     message += seconds + " second" + (seconds==1 ? '':'s') + " <br />"; 



     note.html(message); 

     if(days==0 && hours==0 && minutes==0 && seconds==0) 
      { 
      $("#events").animate({'opacity': 0}, 1000, function() { 
       $(this).text('Jamboree Has Started!!!!!!'); 
      }).animate({'opacity': 1}, 1000);     
     } 

    } 
}); 
}); 

我知道爲什麼它一直保持一個原因是因爲所有的數字停留在0一旦他們全部命中0。也許有另一種方式我能得到這個工作,顯示出與使用新的文字就annimaing一旦所有的數字命中0?

+0

這是倒計時插件使用 –

回答

0

您希望動畫只出現一次。所以,你可以利用.one()

$("#events").one(function() { 
    $(this).animate({'opacity': 0}, 1000, function() { 
      $(this).text('Jamboree Has Started!!!!!!'); 
    }).animate({'opacity': 1}, 1000); 
}); 

但是對於停止動畫,.stop()可以使用。在你的情況下,它不是必需的。

+0

試過了,原文保持顯示。已嘗試.stop(),但使整個倒計時器消失,除了文本。還嘗試刪除})在最後,並搞砸了倒計時。 – user1236784

+0

@ user1236784你可以在jsfiddle中顯示它嗎?我也可以試試 – Praveen

+0

之前從未使用過jsfiddle。看着它,真的不知道如何包括所有需要進行倒計時工作的文件。有一個名爲assets的文件夾,裏面有4個文件夾。 – user1236784