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);