我正在使用彈出窗口創建網站。彈出應該有多達12個圖像。我打電話給我的圖片pizza1.jpg,pizza2.jpg,pizza3.jpg等等。如何刪除圖像元素,如果它的源文件不存在
有沒有什麼方法可以用純JavaScript來讓圖像顯示出來,只要有一個名稱我已經告訴它尋找的文件?
This Question是類似的,但所有的答案都很複雜,只有中等相關。
我正在使用彈出窗口創建網站。彈出應該有多達12個圖像。我打電話給我的圖片pizza1.jpg,pizza2.jpg,pizza3.jpg等等。如何刪除圖像元素,如果它的源文件不存在
有沒有什麼方法可以用純JavaScript來讓圖像顯示出來,只要有一個名稱我已經告訴它尋找的文件?
This Question是類似的,但所有的答案都很複雜,只有中等相關。
可以使用onError
事件刪除對象從彈出:
<img src="src" onError="removeElement(this);" />
檢查其能否正常工作:
function removeElement(element) {
element.remove();
}
您應該處理img
元素的onerror
事件。
您可以創建一個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>
你通過AJAX獲取它們呢? – cuniculus
請檢查那裏的答案,如果圖像不存在,比不顯示它。如果您需要進一步的幫助,請嘗試更準確,添加一些代碼。 – skobaljic
另一個問題的答案只是解決比我的問題複雜得多的複雜解決方案。對於這個問題我接受的答案很簡單。 –