2016-10-20 15 views
0

我需要製作一個廣告,每3秒後自動更改圖片。這是我到目前爲止,但我堅持去哪裏和如何完成: 1.聲明名爲currentImage設置爲1的變量。 2.聲明一個名爲autoAdvance的變量並將其設置爲運行ChangeAd()每3秒發揮一次功能。 3.創建一個名爲ChangeAd()的函數。 4.在該功能中,使用案例結構來確定要顯示的下一個廣告。 - 在switch語句中使用currentImage變量。 - 對於案例1:將第一個img元素的源設置爲「concert2.gif」,然後將currentImage變量設置爲2. - 對於案例2:將第一個img元素的源設置爲「concert3.gif」,然後設置currentImage變量爲3. - 對於案例3:將第一個img元素的源設置爲「concert4.gif」,然後將currentImage變量設置爲4. - 對於案例4:將第一個img元素的源設置爲「 concert5.gif「,然後將currentImage變量設置爲5. - 對於第五種情況:將第一個img元素的源設置爲」concert1.gif「,然後將currentImage變量設置爲1. 請記住在需要時包含break語句。JavaScript - 使用switch語句創建每3秒更改一次的廣告

[編輯]

<p><img src="concert1.gif" id="img" height="60" width="370" alt="Changing advertising image" /></p> 
<script> 
    "use strict"; 
    var currentImage = 1; 
    var autoAdvance = setInterval(ChangeAd, 3000); 

    function ChangeAd(currentImage) { 
    var image = document.getElementsByTagName("img"); 
    switch(currentImage){ 
     case 1: 
      currentImage = 2; 
      return "concert2.gif"; 
      break; 
     case 2: 
      curentImage = 3; 
      return "concert3.gif"; 
      break; 
     case 3: 
      currentImage = 4; 
      return "concert4.gif"; 
      break; 
     case 4: 
      currentImage = 5; 
      return "concert5.gif"; 
      break; 
     case 5: 
      currentImage = 1; 
      return "concert1.gif"; 
      break; 
    } 

    } 
</script> 
+2

你有[檢查你的錯誤控制檯?(http://stackoverflow.com/documentation/javascript/185/hello-world/714/使用控制檯日誌#t = 201610202230529157306)現在,你的語法錯誤。另外,pro-tip不要將字符串傳遞給'setTimeout'或'setInterval'。只要做'setTimeout(ChangeAd,3000)'。 –

+0

@ Alex204 - 這聽起來像是一種分配。請更清楚描述你想要什麼以及你卡在哪裏。就目前而言,你有一些語法和執行問題,但是這個代碼是做什麼/不做什麼你想要改變的? –

+0

@CristianCavalli我已經添加了我的要求,我有他們大多填充只是不知道如何結束 – Alex204

回答

0

這應該工作。我製作了一個包含所有圖像路徑的數組,並且只是在它們上面循環。 你應該使用比getElementsByTagName以外的東西,也許用getElementById代替

var images = ["concert2.gif", "concert3.gif", "concert4.gif", "concert5.gif", "concert1.gif"]; 
var image = document.getElementsByTagName("img"); 
var currentImage = 0; 

var autoAdvance = setInterval(ChangeAd, 3000); 

function ChangeAd() { 
    image.src= images[currentImage]; 
    currentImage ++; 
    if(currentImage == images.length) currentImage = 0; 
} 
+0

謝謝,但我需要使用switch語句 – Alex204

+1

@ Alex204這是一個愚蠢的要求。我想嘗試在那裏工作。 – Kolby

+0

很好的回答!你可以添加這個作爲ChangeAd()函數的第一行來重新開始圖像:if(currentImage> = images.length)currentimage = 0; – Orilux