为什么这个 JS 倒计时不起作用?

e_lfnew
<script type="text/javascript">
function countdown(seconds, element)
{
    var count = seconds;
    var counter= setInterval(timer, 1000);

    function timer()
    {
        count--;
        if (count <= 0)
        {
            clearInterval(counter);
            return;
        }   
        element.innerHTML = "Seconds remaining: " + count;
    }
}
</script>


<h1 onload="countdown(100, this)"></h1>

那么为什么调用标签的innerHTML 不会改变呢?我看到了其他代码,但在这里没有看到任何错误。我是 JS 编码的新手。

空指针

onload函数可用于<body> 标签,它似乎不适用于其他标签。尝试添加它<body>

function countdown(seconds, element)
{
  var count = seconds;
  var counter= setInterval(timer, 1000);
  function timer()
   {
     count--;
     if (count <= 0)
     {
      clearInterval(counter);
      return;
     } 
     element.innerHTML = "Seconds remaining: " + count;
     //console.log(count);
   }
}

h1List=document.getElementsByTagName("h1");
  for(i=0;i<h1List.length;i++){
     countdown(100-i*3, h1List[i]);
  }
//countdown(100, document.getElementsByTagName("h1")[0]);
<h1></h1>
<h1></h1>
<h1></h1>
<h1></h1>
<!--<body onload="countdown(100,document.getElementsByTagName(`h1`)[0])">-->

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章