2010-08-10 56 views
1

我想用jQuery和javascript構建一個進度條。Javascript進度動畫

它基本上是一個酒吧

<div id="progressbar"><div id="progress"></div> 
<div id="number">0%</div> 

當你點擊下一步按鈕(這在這裏心不是),它改變了進展div的寬度和使用CSS3它動畫好聽,但我在這裏的問題是數。我有5個屏幕,所以他們都是20%,我想動畫的數字,所以當酒吧變得更寬時,數字在0%到20%的所有數字中滑動,與酒吧動畫同時播放(0.5s)

我知道JQuery你可以使用innerHTML命令並將其從0%更改爲20%,但我想爲其設置動畫效果。

任何想法如何做到這一點?

+0

什麼是你的jQuery代碼來動畫進度條?如果在一次只顯示一個的替代div中更新數字,您可能可以使用淡入淡出效果或翻轉效果,我覺得好像沒有足夠的信息來正確回答。 – JKirchartz 2010-08-10 23:02:49

回答

2

1st獲取jQuery progressbar插件。 這裏是example

然後創建像一個函數:

num = 0; 
function pbUpdate(value){ 
    if (num <= value) { 
      window.setInterval('updAnimation(' + value + ')', 10); 
    }else{ 
      clearTimeout; 
    } 
} 

function updAnimation(value){ 
    num += 1; 
    if (num <= value){ 
      $("#pb").reportprogress(num); 
    } 
} 

如果你看一下插件的例子,看看這段代碼,你應該到你想去的地方。我也使用過這段代碼。

+2

**您不應該將字符串傳遞給'setInterval'。**而應該寫'setInterval(function(){updAnimation(value);},10);' – SLaks 2010-08-19 19:50:24

+0

好的提示!謝謝! – webdad3 2010-08-19 19:58:12

+0

謝謝 - 我會試試這個 – CheeseConQueso 2010-08-19 20:06:01