gpt4 book ai didi

javascript - 使用 ClearTimeout() 停止函数运行

转载 作者:行者123 更新时间:2023-11-28 07:03:55 29 4
gpt4 key购买 nike

我有两个按钮来启动和停止进度条。这是代码:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0 /jquery.min.js"></script>
</head>
<body>

<form name="Calculation" method="post">

<progress id="progressBar" value="0" max="100" style="width:300px;"> </progress>

<input type="button" id="btn2" value="Start Acquisition" onclick="progressBarSim(0)">

<input type="button" value="Stop Acquisition" onclick="myStopFunction()">

</form>

<script>

function progressBarSim(al) {

var bar = document.getElementById('progressBar');

bar.value = al;

al++;

var sim = setTimeout(function(){ progressBarSim(al); }, 50);

}

function myStopFunction() {
clearTimeout(sim);
}

</script>

</body>

</html>

我想在进度运行期间使用“停止采集”按钮来停止进度。我想 ClearTimeout 只有在进度完成时才会起作用。

最佳答案

您的代码是正确的,有一个小更新。您需要在函数外部声明变量。您需要将脚本更新为以下内容

var sim; // outside the function
function progressBarSim(al) {
var bar = document.getElementById('progressBar');
bar.value = al;
al++;
sim = setTimeout(function(){ progressBarSim(al); }, 50);
}

function myStopFunction() {
clearTimeout(sim);
}

仅供引用 - http://plnkr.co/edit/F88fYlOklpayfnWNWh9l?p=preview

关于javascript - 使用 ClearTimeout() 停止函数运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861608/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com