简体   繁体   English

进度栏不断加载Javascript

[英]Progress bar keeps loading Javascript

When the user clicks Generate a bar animates showing the user that the task is loading. 当用户单击“生成”时,会显示一个动画条,向用户显示任务正在加载。

What changes do I need to do in my code in order for the bar to animate while the results are being produced and stop animating when the results are ready. 我需要对代码进行哪些更改,以使栏在生成结果时进行动画处理,并在结果准备好时停止动画处理。

HTML: HTML:

<button class="btn" id="generate" type="submit">Generate</button>

<div class="result" id="rslt"></div>

<div class="progress">
   <div class="bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" data-percentage="100" style="width: 0%;"></div>
</div>

JAVASCRIPT: JAVASCRIPT:

var generateButton = document.getElementById("generate");

if (generateButton.addEventListener) {
    generateButton.addEventListener("click", random, false);
}
else if (generateButton.attachEvent) {
    generateButton.attachEvent('onclick', random);
} 

function random(e) {
    setTimeout(function(){

        $('.progress .bar').each(function() {
            var me = $(this);
            var perc = me.attr("data-percentage");

            //TODO: left and right text handling

            var current_perc = 0;

            var progress = setInterval(function() {
                if (current_perc>=perc) {
                    clearInterval(progress);
                } else {
                    current_perc +=1;
                    me.css('width', (current_perc)+'%');
                }

                me.text((current_perc)+'%');

            }, 50);

        });

    },300);

    var num = Math.random();

    var greetingString = num;
    document.getElementById("rslt").innerText = greetingString;
}

DEMO 演示

data-percentage属性添加到bar div。

<div class="bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" data-percentage="100" style="width: 0%;"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM