ZBLOG

var progress_bar_html = ""+ ""+""+ "" + "0%" +"" +""; $(".ProgressBar").append(prog...

在JavaScript中,没有直接的方式可以终止一个线程。但你可以通过使用setTimeout()和递归调用来模拟类似的效果。具体来说,你可以将代码块封装在一个函数中,并使用setTimeout()来延迟执行下一次循环。当满足结束条件时,即执行到return语句,不再调用下一次循环。

以下是修改后的示例代码:

  1. function startProgressBar() {
  2. var progress_bar_html = "<div id='progress_bar_container'>"+ "<div id='progress_bar'>"+"</div>"+ "<span id='progress_percent' style='margin-left:70px;margin-top:68px'>" + "0%" +"</span>" +"</div>";
  3. $(".ProgressBar").append(progress_bar_html);
  4. const progressBar = document.getElementById('progress_bar');
  5. const progressPercent = document.getElementById('progress_percent');
  6. const progressBarContainer = document.getElementById('progress_bar_container');
  7. let obj = { progress:0, status:0 };
  8. function updateProgressBar() {
  9. getQsfp28(12,obj);
  10. console.log("progress:",obj.progress);
  11. console.log("status:",obj.status);
  12. if ((obj.progress >= 100) && (obj.status == 2 || obj.status == 4)) {
  13. progressBar.style.width = obj.progress + '%';
  14. progressPercent.textContent = obj.progress + '%';
  15. //显示完后消失
  16. progressBarContainer.style.display = 'none';
  17. // progressBar.style.display = 'none';
  18. // progressPercent.style.display = 'none';
  19. alert("设置成功");
  20. return;
  21. }
  22. //更新进度条
  23. if (obj.progress < 100) {
  24. progressBar.style.width = obj.progress + '%';
  25. progressPercent.textContent = obj.progress + '%';
  26. } else {
  27. progressBar.style.width = 90 + '%';
  28. progressPercent.textContent = 90 + '%';
  29. }
  30. setTimeout(updateProgressBar, 10000); //10秒后再次执行
  31. }
  32. updateProgressBar(); //开始循环执行
  33. }
  34. startProgressBar();

这样,代码会以10秒为间隔不断循环执行updateProgressBar()函数,直到满足结束条件时才停止循环。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17196

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?