【问题标题】:setInterval and clearIntervalsetInterval 和 clearInterval
【发布时间】:2017-03-08 15:35:38
【问题描述】:

我的代码返回“未捕获的引用错误:y 未定义”,因为 var y 是在不同的函数中定义的。 (有一个html按钮,按下时会调用函数p)

var x = 0;

function write5() {
   if (x <= 9) {
       document.write(5); 
       x += 1;
   }
  else {
   clearInterval(y);
  }
}
function p() {
  var y = setInterval(write5, 500);
}

但如果我将变量放在函数之外,它会立即启动。如何使函数打印 5 10 次,仅在按下按钮时开始并且不返回错误?

【问题讨论】:

  • var y;在顶部(函数外)定义变量,然后将p()函数内的代码改为y = ....
  • 啊,有道理。谢谢!

标签: javascript setinterval clearinterval


【解决方案1】:

在函数外声明“y”,像这样:

var x = 0;
var y = null;
function write5() {
   if (x <= 9) {
       document.write(5); 
       x += 1;
   }
  else {
   clearInterval(y);
  }
}
function p() {
  y = setInterval(write5, 500);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 2017-01-26
    • 2023-03-19
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多