有关渲染树的操作(倒计时操作)

2023-12-18 22:59:14
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <button disabled>倒计时60秒</button>
  <script>
    let i=59
  let a=  setInterval(
      function(){
        if(i<0){

          document.querySelector('button').disabled=false      
    document.querySelector('button').innerHTML=`同意该协议`
          clearInterval(a)
        }else{
    document.querySelector('button').innerHTML=`倒计时${i}秒`
        i--
      }
    }
      ,1000
    )
  </script>
</body>
</html>

在script下如果存在for循环是整个循环结束才去,拿渲染树进行渲染。第一次渲染是主线程结束。才进行渲染。for循环是在主线程内的。而定时器开启的另一个线程,也是等这个线程结束看最终的渲染树进行循环。定时器它是等一秒再执行。不是立刻在主线程内执行。if条件没写else下面的肯定执行。if只是判断这一段代码块是否执行。但是下面的还是一定会执行的。一开始一定是要写的。1s后执行的button下的下一个数。

文章来源:https://blog.csdn.net/qq_61990666/article/details/135071040
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。