Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在5秒内停止功能?Vue.js_Javascript_Arrays_Vue.js - Fatal编程技术网

Javascript 如何在5秒内停止功能?Vue.js

Javascript 如何在5秒内停止功能?Vue.js,javascript,arrays,vue.js,Javascript,Arrays,Vue.js,这是我的密码 setInterval(this.randomImage, 250); setInterval(this.randomPosition, 250); setInterval(this.addImage, 250); 我想在5秒内停止addImage函数,因为图像正在无限添加 我试着这样做 let timesRun = 0; const intervalAddImage = setInterval(function () { timesRun += 1; if (ti

这是我的密码

 setInterval(this.randomImage, 250);
 setInterval(this.randomPosition, 250);
 setInterval(this.addImage, 250);
我想在5秒内停止addImage函数,因为图像正在无限添加

我试着这样做

let timesRun = 0;
const intervalAddImage = setInterval(function () {
  timesRun += 1;
  if (timesRun === 60) {
    clearInterval(intervalAddImage)
  }
  this.addImage();

}, 250);

intervalAddImage();
但它不起作用


我正在使用Vue.js

这是你的错误:在不小心的情况下,不要使用
这个
:你应该花时间去理解

在您的代码中,您递增
this.timesRun
,但您在
timesRun
上进行测试,该值从不递增

此示例将按照您的预期工作:

let timesRun=0;
//const addImage=this.addImage;
const intervalAddImage=setInterval(函数(){
timesRun+=1;
如果(timesRun==60){
clearInterval(intervalAddImage);
}
//addImage();
log(“Hello”,timesRun);
}, 250);因此它可以工作)


以下代码每250ms运行一个任务,并在5秒后停止。我希望这能给你一些启发

var intervalId=setInterval(()=>console.log(“running”),250;

setTimeout(()=>ClearIntervalid,5000)您是否检查控制台是否有任何错误消息?intervalAddImage不是一个功能您可以显示您的全部代码吗?这个
来自哪里,您是从对象运行这个,还是使用隐式全局/窗口对象?@jcubic setTimeout(setInterval(this.addImage,250),5000)??在这种情况下,函数不会停止删除错误的注释。查看我的其他评论。“intervalAddImage不是函数”@GermanVaranytsya只需删除对
intervalAddImage()的调用因为那不是函数而是数字。我需要AddImages如果你需要调用
AddImages
,我已经更新了代码段。您将找到要取消注释以启用它的行。另一种方法是
函数绑定到
this
值,这样
this
就是您希望它在函数中的位置。但是,请花点时间阅读
this
在JavaScript中的工作原理,否则,您会遇到很多问题。
let timesRun = 0; // just change to this
function addImage(timesRun) { console.log(timesRun)}
const intervalAddImage = setInterval(function () {
    timesRun += 1; // just change to this
    if (timesRun === 4) {
        clearInterval(intervalAddImage)
        return; // add this
    }
    addImage(timesRun);
}, 250);