循环

时间:2016-08-30 08:35:51

标签: javascript html css progress-bar progress

我想制作一个在完成后“折叠”的进度条。
通过崩溃,我的意思是反复减少高度1

但是当进度条“完成”(达到宽度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 + '%';
                    }
                }

错误在哪里?

对不起,如果我的问题很愚蠢或重复;我搜索了论坛但发现没有重复的帖子。

提前致谢

1 个答案:

答案 0 :(得分:0)

正如你所做的那样

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

以下永远不会错:

while (elem.style.height != 0) 

认为这是错误的:

"0%"==0 // false

我认为循环有问题。如果你想逐个减小高度,最好调用一个setInterval,因为一个循环会在不到1ms的时间内将高度改为0,这与将高度直接设置为0没有区别。