除非在某个地方,在你的HTML ...
<img id="slide">
那么这将是为undefined
...
document.images.slide
因此...
document.images.slide.src = ...
解释...
Uncaught TypeError: Cannot set property 'src' of undefined
下面是一个简单的一块,你可以运行,看看它的代码工作
var images = [
'http://placehold.it/200?text=A',
'http://placehold.it/200?text=B',
'http://placehold.it/200?text=C'
]
function slideIt(elem, i, images) {
elem.src = images[i % images.length]
setTimeout(slideIt, 1000, elem, i+1, images)
}
slideIt(document.querySelector('#slideshow'), 0, images)
<img id="slideshow">
在您的原始代码中,您正在预加载图像。在初始化滑块之前,我已经在下面做了一个小改编以预先加载图像。
var images = [
'http://placehold.it/200?text=A',
'http://placehold.it/200?text=B',
'http://placehold.it/200?text=C'
]
function slideIt(elem, i, images) {
elem.src = images[i % images.length].src
setTimeout(slideIt, 1000, elem, i+1, images)
}
function imagep(src) {
return new Promise(function(pass,fail) {
var i = new Image()
i.src = src
i.onload = function(event) { pass(i) }
})
}
Promise.all(images.map(imagep)).then(function(imgs) {
slideIt(document.querySelector('#slideshow'), 0, imgs)
})
<img id="slideshow">
1.是否有使用'ID = “幻灯片”'页面上的'img'元素? 2.在文档之后运行的JS是否已被完全解析? – Siguza
现在有。 JS在解析文档后运行。它现在有效。谢谢。 –