未定义“功能”

时间:2019-11-28 10:00:51

标签: javascript slider

我正在尝试制作一个每5秒更改一次图像的滑块。但是在控制台上说 “ changemementImages未在新的滑块上定义”

//change images every 5 sec
this.temps = setInterval(changemementImages, 5000);

this.image5Sec = changemementImages =()=>{
    if(this.i >= 2){
        this.i-=3;
        document.getElementById("images").src = this.slide[this.i];
    }
    else if (this.i = 0){
        document.getElementById("images").src = this.slide[++this.i];
    }

}

1 个答案:

答案 0 :(得分:0)

与声明的函数不同,箭头函数需要在使用之前进行初始化。 https://developer.mozilla.org/en-US/docs/Glossary/Hoisting

尝试在setInterval之前初始化changemementImages。

const changemementImages =()=>{
   if(this.i >= 2){
       this.i-=3;
       document.getElementById("images").src = this.slide[this.i];
   }
   else if (this.i = 0){
       document.getElementById("images").src = this.slide[++this.i];
   }

}

this.temps = setInterval(changemementImages, 5000);

this.image5Sec = changemementImages;