gpt4 book ai didi

javascript - 我不断收到 "Uncaught ReferenceError: imgArray is not defined"错误

转载 作者:行者123 更新时间:2023-11-29 10:56:50 24 4
gpt4 key购买 nike

我已经编写了一些代码作为淡入和淡出一些图像的对象,只有当我要求构建幻灯片时,我才会得到一个

"Uncaught ReferenceError: imgArray is not defined".

任何人都可以帮助我为什么会收到此错误。谢谢。

const slideShow = {
curIndex: 0,
imgDuration: 10000,
slider: document.querySelector('.banner__slider').childNodes,

imgArray: [
'images/background/img3.jpg',
'images/background/img1.jpg',
'images/background/img2.jpg'
],

buildSlideShow(arr) {
for (i = 0; i < arr.length; i++) {
const img = document.createElement('img');
img.src = arr[i];
slider.appendChild(img);
}
},

slideShow() {

function fadeIn(e) {
e.className = "fadeIn";
};

function fadeOut(e) {
e.className = "";
};

fadeOut(slider[curIndex]);
curIndex++;
if (curIndex === slider.length) {
curIndex = 0;
}

fadeIn(slider[curIndex]);

setTimeout(function () {
slideShow();
}, imgDuration);
},
};

slideShow.buildSlideShow(imgArray).slideShow();

最佳答案

您收到错误是因为代码中没有 imgArray 变量。您可以将其更改为:

slideShow.buildSlideShow(slideShow.imgArray).slideShow();

这解决了一个问题,但又产生了另一个问题。 buildSlideShow 方法不返回任何内容。因此,.slideShow() 方法将再次抛出错误。由于 imgArrayslideShow 对象的一个​​属性,您可以使用 this 关键字。将方法更改为:

buildSlideShow() {

for (i = 0; i < this.imgArray.length; i++) {
const img = document.createElement('img');
img.src = this.imgArray[i];
slider.appendChild(img);
}

return this;
}

buildSlideShow 中,使用 return this 返回对象的实例。这样您就可以链接这些方法。

const slideShow = {
curIndex: 0,
imgDuration: 10000,
// slider: document.querySelector('.banner__slider').childNodes,

imgArray: [
'images/background/img3.jpg',
'images/background/img1.jpg',
'images/background/img2.jpg'
],

buildSlideShow() {
console.log("inside buildSlideShow method");

for (i = 0; i < this.imgArray.length; i++) {
console.log(this.imgArray[i]);
const img = document.createElement('img');
img.src = this.imgArray[i];
//slider.appendChild(img);
}

return this;
},

slideShow() {
console.log("inside slideShow method")
}
}

slideShow.buildSlideShow()
.slideShow();

(我已经注释掉了slider代码)

关于javascript - 我不断收到 "Uncaught ReferenceError: imgArray is not defined"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55439694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com