2016-05-14 31 views
1

我正在使用彈出窗口創建網站。彈出應該有多達12個圖像。我打電話給我的圖片pizza1.jpg,pizza2.jpg,pizza3.jpg等等。如何刪除圖像元素,如果它的源文件不存在

有沒有什麼方法可以用純JavaScript來讓圖像顯示出來,只要有一個名稱我已經告訴它尋找的文件?

This Question是類似的,但所有的答案都很複雜,只有中等相關。

+0

你通過AJAX獲取它們呢? – cuniculus

+0

請檢查那裏的答案,如果圖像不存在,比不顯示它。如果您需要進一步的幫助,請嘗試更準確,添加一些代碼。 – skobaljic

+0

另一個問題的答案只是解決比我的問題複雜得多的複雜解決方案。對於這個問題我接受的答案很簡單。 –

回答

3

可以使用onError事件刪除對象從彈出:

<img src="src" onError="removeElement(this);" /> 

檢查其能否正常工作:

function removeElement(element) { 
    element.remove(); 
} 
1

您可以創建一個Image instance,並使用其onload事件,看它是否已加載。如果是這樣,只需將圖像附加到任何元素。

演示

var imgurls = [ 
 
    "https://placekitten.com/g/64/64", 
 
    "https://placekitten.com/g/32/32", 
 
    "https://placekitten.com/g/none/200", 
 
    "https://placekitten.com/g/100/100", 
 
    "https://placekitten.com/g/24/24" 
 
]; 
 

 
imgurls.forEach(function(url){ 
 
    let img = new Image(); 
 
    img.onload = onImageLoad; 
 
    img.src = url; 
 
}); 
 
    
 
function onImageLoad(){ 
 
    document.body.appendChild(this); 
 
}
<div id="container"> 
 
    
 
</div>

相關問題