运行 一次然后重复一个脚本

Run once then repeat a script

我编写了以下内容,它以 5 秒的间隔成功地重复了脚本。但是,我希望它在没有 5 秒延迟的情况下开始。是否可以 运行 一次没有延迟的脚本,然后启动它?

<body onload="Run()">


 
<p id = "Text" style =
    "text-align:right; font-size: 100%; font-weight: bold; font-style: italic; color: black; font-family:poppins;">
</p>
 
<script>
 
    var down = document.getElementById('Text');         
    var arr = [
      "\"The end of the liver and the beginning of reading.\"",
      "\"The most straight geniuses intent lemur sand,\"",
      "\"Passim abandonment to fashion,\"",
         
              ];
     
     
 setInterval(function Run() {
        down.innerHTML =
            arr[Math.floor(Math.random() * arr.length)];
  }, 5000) </script>

抱歉,如果我在这里打断了你的小猫捉老鼠游戏 ;-)

以下代码片段包含一些将使脚本正常工作的更正:

  • 我独立于 setInterval() 调用
  • 定义了函数 Run()
  • 然后我将其称为 setInterval() 的回调函数。

function Run() {
 down.innerHTML=arr[Math.floor(Math.random() * arr.length)]; }  
const down= document.getElementById('Text');         
const arr = ["hello","goodbye","and whatever","I wanted to say"];
        
setInterval(Run,5000);
<body onload="Run()">     
<p id = "Text" style =
    "text-align:right; font-size: 100%; font-weight: bold; font-style: italic; color: black; font-family:poppins;">
</p>
 

在 SO 片段中,<script> 部分将始终在 加载 HTML 部分后被称为 。这当然是您必须在自己的文档结构中确保的事情。最简单的方法是将 <script> 部分放在 之后 您的 <body>.