2014-06-05 37 views
0

我使用的JavaScript從這個舊的腳本的HTML:JavaScript: how to load all images in a folder?使用JavaScript編寫周圍循環

不過,我想使用相同的JavaScript文件中環和一些循環之後才寫一些HTML代碼,所有使用這個相同的JavaScript文件。

只是把一個document.write之前和之後在JavaScript中不起作用。

var bCheckEnabled = true; 
var bFinishCheck = false; 

var img; 
var imgArray = new Array(); 
var i = 0; 

var myInterval = setInterval(loadImage, 1); 

function loadImage() { 

    if (bFinishCheck) { 
     clearInterval(myInterval); 
     document.write('Loaded ' + i + ' image(s)'); 
     return; 
    } 

    if (bCheckEnabled) { 

     bCheckEnabled = false; 

     img = new Image(); 
     img.onload = fExists; 
     img.onerror = fDoesntExist; 
     img.src = 'assets/' + i + '.png'; 
     document.write('<img src="assets/' + i + '.png" width="1016" height="813" alt="Kar" />'); 

    } 

} 

function fExists() { 
    imgArray.push(img); 
    i++; 
    bCheckEnabled = true; 
} 

function fDoesntExist() { 
    bFinishCheck = true; 
} 
+0

您的目標是將一些HTML添加到服務器上的文件? – TheNorthWes

+0

請閱讀:https://developer.mozilla.org/en-US/docs/Web/API/Document,並停止使用'document.write()'。 – melancia

+0

是的,它將HTML添加到我的index.html中。目前的JavaScript(由我發佈)只是添加圖像。我想要在第一張圖像之前有,最後一張圖像之後有。 –

回答

-1

您可能正在錯誤地使用此示例代碼。它的目的似乎是在後臺預加載文件,而不是將它們顯示給HTML(尚)中的用戶。這是爲了提高您網頁的下載速度。

總之,這段代碼實際上並沒有將圖像渲染到DOM中;那是故意的行爲。

+0

好的,謝謝。那麼你能幫我實現我的最初目標嗎?循環播放多個文件並將它們放置在標記之間? –

+0

你在找什麼叫做DOM操作。我的第一個想法是將你指向[jQuery](http://www.jquery.com)庫。否則,我可以通過直接DOM操作來解決問題(請參閱(https://developer.mozilla.org/en-US/docs/Web/API/document.createElement)以獲得基本開始),但我認爲你是最好的適合使用jQuery來做到這一點。 –

+0

嗯,沒關係。你可以給我一個jQuery的開始? –