0

JavaScriptに関しては初心者です。プログレス バーの値を 5 秒で 100 から 0 に変更しようとしていますが、正しく動作しません。このチュートリアルを試しましたが、時間を制御する方法がありませんでした。私が持っているものを示すJSFiddleがあります。助けていただければ幸いです。私のJavascript

var correct = "a1";
function onload()
{
var question1 = "Who was the first president?";
var answers = {
  "a1":"George Washington",
  "a2":"John Adams", 
  "a3":"Bill Clinton",
  "a4":"Richard Nixon"}; 
document.getElementById("qstn").innerHTML=question1;
document.getElementById("a1").innerHTML=answers.a1;  
document.getElementById("a2").innerHTML=answers.a2;  
document.getElementById("a3").innerHTML=answers.a3; 
document.getElementById("a4").innerHTML=answers.a4;
var bar = document.getElementById("bar").value;
}

私のHTMLは

<body onload="onload()">
<p id="qstn"></p>
<button class="btn" onclick="checker()"><span id="a1"></span></button>
<button class="btn" onclick="checker()"><span id="a2"></span></button>
<button class="btn" onclick="checker()"><span id="a3"></span></button>
<button class="btn" onclick="checker()"><span id="a4"></span></button>
<progress value="100" max="100" id="bar"></progress>
</body>

繰り返しますが、助けやコメントは大歓迎です。

4

3 に答える 3

2

次のように間隔を使用できます。

var max = 100;
setInterval(function(){
document.getElementById("bar").value=max;
        max = max-20;
},1000);

この助けを願っています!5 秒から 0 の値で実行されます。

于 2013-03-28T16:39:44.980 に答える
0

ここにあなたが望むもののための実用的なフィドルがあります:

http://jsfiddle.net/zfuTp/8/

追加されたコード:

var interval = setInterval(update, 1000);
var i = 100;

function update() {
    document.getElementById("bar").style.width = (i-=20) + "%";      
    if(i<=0) clearInterval(interval);
}

ここでは、プログレス バーの幅が 5 秒間反復するたびに 20% ずつ減少します。

于 2013-03-28T16:42:01.807 に答える
0

これを試すことができます:-

setInterval(function(){bar.value--},1000);

1000秒を表す

于 2013-03-28T16:36:55.320 に答える