除非在某個地方,在你的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在解析文檔後運行。它現在有效。謝謝。 –