2016-08-30 60 views
0

我想在完成時創建一個「摺疊」的進度條。
通過崩潰,我的意思是反覆降低高度1
elem.style.height在循環內不會觸發

但是當進度條「完成」(達到寬度100)時,不會再發生任何事情。

這是我的代碼:

   function frame() { 
        var elem = document.getElementById("myBar"); 
        var height = 30; 
        if (width >= 100) { 
         while (elem.style.height != 0) { 
          elem.style.height = height + '%'; 
          height--; 
         } 
         clearInterval(id); 
        } else { 
         width++; 
         elem.style.width = width + '%'; 
        } 
       } 

哪裏錯誤?

對不起,如果我的問題是愚蠢的或重複的;我搜索了論壇,但發現沒有重複的帖子。

在此先感謝

回答

0

正如你已經這樣做了

elem.style.height = height + '%'; 

下絕不會是假的:

while (elem.style.height != 0) 

becase的,這是假的:

"0%"==0 // false 

而且我認爲那裏循環有問題。如果你想逐個降低高度,最好調用一個setInterval,因爲一個循環會在1ms以內將高度改變爲0,這與將高度直接設置爲0沒有區別。

+0

謝謝。將使用setInterval代替。 –