2013-06-21 29 views
-1

我使用JavaScript來顯示。我有5張圖像的圖像,但無法顯示them.My代碼如下:無法顯示在JavaScript

function set() 
{ 
    var i; 
    for(i=1; i<=5; i++) 
    { 
     var image = "<img src=images/sl + i + />"; 
     document.getElementById('slider').innerHTML = image; 
    } 
} 
setInterval("set()","500"); 


<div id="slider"> 
    <img src="images/sl1.jpg" /> 
</div> 
+1

你的'set()'函數將會非常迅速地替換每個圖像。那是故意的嗎? –

+0

@MattBall測試目的可能! – scarecrow

+1

您可能需要考慮更改img標記中的src,而不是更新滑塊div的內容,因爲後者可能導致閃爍。 – SenorAmor

回答

4

變化 -

var image = "<img src=images/sl + i + />"; 

要 -

var image = "<img src=images/sl" + i + "/>"; 

此外,我相信你需要追加圖像格式這也(jpg | png etc)

編輯 -

var image = "<img src=images/sl" + i +".jpg"+" style='width:500px;height:300px;' />"; 
+0

您可能還想引用屬性值:'「」' – RichieHindle

+0

不,圖像格式不是必需的。爲什麼會這樣? –

+1

@MattBall:因爲最初的HTML包含一個:''。替代圖片似乎也可能有擴展名。 – RichieHindle

1

假設圖像的文件名是sl1, sl2,..., sl5,它應該是

var image = "<img src=images/sl"+i+"/>";

1

試試這個:

function set() 
{ 
    var i; 
    for(i=1; i<=5; i++) 
    { 
     var image = "<img src='images/sl" + i + "'/>"; 
     document.getElementById('slider').innerHTML = image; 
    } 
} 
setInterval("set()","500"); 



<div id="slider"> 
    <img src="images/sl1.jpg" /> 
</div> 
+1

不要將字符串傳遞給'setInterval'。它是僞裝的,不必要的。 (Y) –

1

你的 '我'變量是你的字符串的一部分,你需要:

var image = "<img src=images/sl" + i + "/>"; 
2

你現在總是把相同的圖像放在一個循環結尾。我可以提出這樣的代碼:

var i = 0; 
function set(){ 
    var image = "<img src=images/sl" + i + "/>"; 
    document.getElementById('slider').innerHTML = image; 
    i = (i+1)%5; 
} 
setInterval(set, 500); 

我修復了一些其他的錯誤/問題。不要傳遞字符串作爲第一個參數到setInterval,傳遞函數或函數表達式的名稱。第二個需要的參數是一個數字,傳遞一個字符串文字是沒有意義的。

但是,在代碼的HTML部分中定義img元素並更改src屬性而不是整個幻燈片內部HTML會更清晰。它還會告訴瀏覽器只有在圖像加載後才更改顯示。

+0

thnx dystroy ...(Y) –