如果找不到圖像,有沒有辦法顯示圖像佔位符?我有通過自動Feed加載的圖像,對於某些項目圖像在那裏,但對於一些項目沒有。所以,如果圖像不存在,我想顯示佔位符。如果未找到圖像,javascript不顯示圖像佔位符
謝謝
^h
如果找不到圖像,有沒有辦法顯示圖像佔位符?我有通過自動Feed加載的圖像,對於某些項目圖像在那裏,但對於一些項目沒有。所以,如果圖像不存在,我想顯示佔位符。如果未找到圖像,javascript不顯示圖像佔位符
謝謝
^h
我找到了答案here
這段代碼的偉大工程!
function onImgErrorSmall(source)
{
source.src = "/images/no-image-100px.gif";
// disable onerror to prevent endless loop
source.onerror = "";
return true;
}
然後調用它像這樣:
<img src="/images/19013_small.jpg" alt="" onerror="onImgErrorSmall(this)" />
或者你可以做一個$(源).remove()來避免這個其他圖像的額外http請求 –
試試這個:如果圖像存在
var tester=new Image()
tester.onload=function() {createPlaceHolderForImage(); }
tester.onerror=function() {handleError(); }
tester.src="http://www.temp.com/image.jpg"
的onload函數被調用,否則的HandleError是使用jQuery的一個樣本稱爲
這裏,這也可以在JavaScript中完成:
<script type="text/javascript">
$(document).ready(function(){
$("img").each(function(){
var imgObj = $(this);
var img = new Image();
img.onerror=function(){ imgObj.attr('src','placeholder.gif'); }
img.src = imgObj.attr('src');
});
});
</script>
<ul>
<li><img src="blah.gif" /></li>
<li><img src="blah.png" /></li>
<li><img src="http://www.google.com/intl/en_com/images/srpr/logo2w.png" /></li>
</ul>
該代碼將遍歷每個圖像並檢查它是否存在。如果它不存在,則將其替換爲「placeholder.gif」圖像。
我似乎目前正在編輯帖子,但您可以在http://jsfiddle.net/Z7EbP/ – RobB
上看到一個工作示例。謝謝。雖然我不允許使用jQuery。 –
這真的取決於你如何通過JavaScript加載圖像。例如,如果您使用從服務器返回的JSON數據,則可以檢查圖像url是否爲空,並將其設置爲另一個「已知」(默認)url。 –