我正在進度條上工作。它有一個標籤。我想調整某個腳本完成的標籤。在找到可能解決方案的一些答案之後,我想出了以下腳本。第一次啓動並按預期工作。但是,第二個不是。它出什麼問題了?下面的代碼:開始第二個JavaScript時,第一個完成
HTML:
<form method ="post">
<input class=generate type="submit" value="Upload" onclick="move();finalize()"/>
</form>
Javascript:
<script>
function move() {
var elem = document.getElementById("myBar");
var myFunc01 = function() {
var i = 1;
while (i < 101) {
(function(i) {
setTimeout(function() {
i++;
elem.style.width = i + '%';
elem.innerHTML = i + '%';
}, 600 * i)
})(i++)
}
};
myFunc01();
}
</script>
<script>
function finalize() {
var elem = document.getElementById("myBar");
var myFunc02 = function() {
elem.innerHTML = 'Finalizing...';
};
setTimeout(myFunc02, 600);
}
</script>
腳本的加載順序是無關的功能執行的邏輯順序的基本思想。到按鈕被點擊的時候,所有東西都已經加載了。您應該在匿名setTimeout函數的最後一次執行中調用finalize。 – James