2013-11-26 60 views

回答

4

這是的jsfiddle:http://fiddle.jshell.net/5j6gf/1/

如何在JavaScript動畫的答案是從這裏:https://stackoverflow.com/a/11213374/1524085

function animate(elem,style,unit,from,to,time) { 
    if(!elem) return; 
    var start = new Date().getTime(), 
     timer = setInterval(function() { 
      var step = Math.min(1,(new Date().getTime()-start)/time); 
      elem.style[style] = (from+step*(to-from))+unit; 
      if(step == 1) clearInterval(timer); 
     },25); 
    elem.style[style] = from+unit; 
} 

animate(
    document.getElementById('progress-bar'), 
    "width","%",0,100,1000 
); 
+3

這是一個不錯的想法花花公子 – Sanoob

+0

你可以在http://jsgyan.blogspot.in/2016/12/progress-bar-is-created-by-developer上找到如何創建進度條的過程和演示。 plain.html。 –

1

jQuery中的任何可能的東西都可以使用純JavaScript。 要麼修復你的問題,要麼發現它是如何在jQuery中完成的,並嘗試用JS重寫它。

您可以使用setTimeout或setInterval來及時增加寬度百分比。您還需要通過將寬度增加一個像素,使每次增加儘可能平滑,直到達到所需的寬度。

有數以百萬計的方法來做到這一點,找到一個適合你的方法。

2

您應該考慮使用一個CSS過渡,而不是:

#progress-bar { 
    width: 0%; 
    -moz-transition: width 10s linear; 
    -webkit-transition: width 10s linear; 
    transition: width 10s linear; 
} 

Then

document.getElementById("progress-bar").style.width = "100%";