在制作 JavaScript Ticker 时转换字符串

converting string while making JavaScript Ticker

我希望在单击“开始”按钮后立即启动计数器(1、2、3、....)。

HTML代码:

<p class="para">0</p>
<input type="button" value="Start" class="start">

JS代码:

const para = document.querySelector(".para"),
      start = document.querySelector(".start");

start.addEventListener("click", function(){
      var timer = setInterval(doEverySecond, 1000)
      })

function doEverySecond(timer){
  parseInt(para++);
 }

我被这个问题卡了三天了。请帮我弄清楚我的错误 我是否需要使用 parseInt 方法,因为 para class 是字符串而不是整数? 我希望我清楚

这里有很多问题可能会给您带来麻烦。

  1. 您没有更新段落的文本,因此看不到任何更改
  2. 你用window设置了一个区间,所以应该是window.setInterval()
  3. 您不需要为间隔分配变量
  4. 在 String
  5. 上调用 ++ 不是个好主意

当我们解决这些小问题时,一切正常!

const para = document.querySelector(".para"), start = document.querySelector(".start");

start.addEventListener("click", function() {
  window.setInterval(doEverySecond, 1000)
})

function doEverySecond() {
  para.innerHTML = parseInt(para.innerHTML) + 1
}
<p class="para">0</p>
<input type="button" value="Start" class="start">

希望这对您有所帮助。

您需要获取 textContent 并尝试使用变量而不是常量,常量值不能更改。像这样

    
       var para = document.querySelector(".para").textContent,
    start = document.querySelector(".start");
    
    start.addEventListener("click", function(){
          var timer = setInterval(doEverySecond, 1000) ;
    
          });
    
    function doEverySecond(timer){
      parseInt(para++);
      document.querySelector(".para").textContent = para;
     }
    
    
        <p class="para">0</p>
        <input type="button" value="Start" class="start">