setTimeout()を使用してブートストラップの進行状況バーの幅を増やそうとしています。コードを実行すると何も起こりません。私はsetTimeout(inc,2000);
をコメントアウトし、inc();alert(w);
を注入し、期待される出力を得たことを確認した。しかし、なぜsetTimeout(inc,2000);
が機能していないのかわかりません。何が間違っているのか教えてください。setTimeoutを使用したブートストラッププログレスバーの進行
HTML
<input id="input-button" type="submit" value="Submit" onclick="pay()">
<div class="progress" id="submit_progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar"
aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" id="load" style="width:0%">
0%
</div>
</div>
JavaScipt
function inc() {
var w= parseInt(document.getElementById("load").style.width);
w=w+10;
document.getElementById("load").style.width= w + '%';
}
function pay() {
var w= parseInt(document.getElementById("load").style.width);
while(w!=100) {
setTimeout(inc,2000);
w= parseInt(document.getElementById("load").style.width);
}
}
私の知る限り、ブートストラップの標準ビルドはjQueryのに依存しようとするスニペット。だから、あなたのコードでjQueryを使わないのは奇妙に見えます。 – hindmost
「while(w!= 100)」の目的は何ですか? – Roberto
プログレスバーの幅が100%でない場合@Roberto –