亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript setTimeout 函數,有問題嗎

javascript setTimeout 函數,有問題嗎

慕容3067478 2022-01-07 19:16:21
我使用 settimeout 功能,為什么它不起作用。我只想每 2 秒更改一次圖像。但什么也沒發生,它只顯示第一張圖像,但沒有改變。<script type="text/javascript">        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);        }</script>
查看完整描述

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);


查看完整回答
反對 回復 2022-01-07
?
慕神8447489

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 。


查看完整回答
反對 回復 2022-01-07
?
絕地無雙

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);


查看完整回答
反對 回復 2022-01-07
  • 3 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號