3 回答

TA貢獻2051條經驗 獲得超10個贊
您一遍又一遍地聲明三個函數,并且從不調用它們中的任何一個。
如果要在三個圖像之間切換,請將它們放在一個數組中,并使用setInterval以下命令一次遍歷一個元素:
var images = ['c1.img', 'c2.jpg', 'c3.jpg'];
var imgNum = 0;
function rotateImage() {
document.getElementById("carimg").src= images[imgNum];
imgNum = (imgNum + 1) % images.length;
}
rotateImage();
setInterval(rotateImage, 2000);

TA貢獻1780條經驗 獲得超1個贊
如果你想讓你的代碼接近你現在所擁有的,你只需要改變一些事情:
function parta() {
document.getElementById("carimg").src="c1.img";
window.setTimeout(partb,2000);
}
function partb() {
document.getElementById("carimg").src="c2.jpg";
window.setTimeout(partc,2000);
}
function partc() {
document.getElementById("carimg").src="c3.jpg";
window.setTimeout(parta,2000);
}
parta();
while在這種情況下不需要使用,因為每個函數將在 2 秒后相互調用。但是,您仍然需要啟動該“循環”,這就是您需要調用parta(). 此外,setInterval在這種情況下使用可能更有意義。
您可以在 CodePen 上使用此代碼片段:https ://codepen.io/yvesgurcan/pen/RwwOawO 。

TA貢獻1946條經驗 獲得超4個贊
試試這個
let imageSrc = ['c1.img', 'c2.jpg', 'c3.jpg'];
let imgIndex;
setInterval(()=>{
if(imgIndex == undefined) {
imgIndex = 0;
} else {
if(imgIndex >= imageSrc.length - 1) {
imgIndex = 0;
} else {
imgIndex++;
}
}
document.getElementById("carimg").src = imageSrc[imgIndex];
}, 2000);
添加回答
舉報