jquery中判斷圖片是否存在的實現(xiàn)代碼
在網(wǎng)上搜索了好長時間,有些都沒有效果,后來終于實現(xiàn)了!需要的小伙伴們可以看下下面的代碼,希望可以幫助你們~
function isHasImg( src ){ var img = new Image(); img.src = src; img.onload = function(){ if( img.width > 0 || img.height > 0 ){ onImgExistNotify(img.src,true,3); } else{ onImgExistNotify(img.src,false,2); } } img.onerror = function(){ onImgExistNotify(img.src,false,1); } } function onImgExistNotify(src,bExist,iPlace){//圖片src是否存在通知 if( bExist ){ console.log("圖片src="+src+"存在"+iPlace); } else{ console.log("圖片src="+src+"不存在"+iPlace); } }
下面是其它網(wǎng)友的補充
利用圖片沒有加載完成的時候,寬高為0。我們很容易判斷圖片的一個加載情況。如下:
var t_img; // 定時器 var isLoad = true; // 控制變量 // 判斷圖片加載狀況,加載完成后回調(diào) isImgLoad(function(){ // 加載完成 }); // 判斷圖片加載的函數(shù) function isImgLoad(callback){ // 注意我的圖片類名都是cover,因為我只需要處理cover。其它圖片可以不管。 // 查找所有封面圖,迭代處理 $('.cover').each(function(){ // 找到為0就將isLoad設為false,并退出each if(this.height === 0){ isLoad = false; return false; } }); // 為true,沒有發(fā)現(xiàn)為0的。加載完畢 if(isLoad){ clearTimeout(t_img); // 清除定時器 // 回調(diào)函數(shù) callback(); // 為false,因為找到了沒有加載完成的圖,將調(diào)用定時器遞歸 }else{ isLoad = true; t_img = setTimeout(function(){ isImgLoad(callback); // 遞歸掃描 },500); // 我這里設置的是500毫秒就掃描一次,可以自己調(diào)整 } }
如果還是不滿意,可以參考下面腳本之家小編寫的,不會死循環(huán)
function fixNDPic(){ var aimg=$(".xgcomm img"); for(var i=0;i<aimg.length;i++){ if(aimg[i].src.indexOf('img.jbzj.com')>-1){ if(/do\/uploads\//.test(aimg[i].src)){ aimg[i].onerror=function(){ if (this.src.indexOf('img.jbzj.com')>-1){ this.src=this.src.replaceAll('img.jbzj.com','www.dbjr.com.cn'); } } } } } } String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } fixNDPic()
到此這篇關于jquery中判斷圖片是否存在的實現(xiàn)代碼的文章就介紹到這了,更多相關jquery判斷圖片是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
jQuery拋物線運動實現(xiàn)方法(附完整demo源碼下載)
這篇文章主要介紹了jQuery拋物線運動實現(xiàn)方法,以完整實例形式分析了jQuery物體運動的實現(xiàn)技巧,并附帶了完整的demo源碼供讀者下載參考,需要的朋友可以參考下2016-01-01通過Jquery的Ajax方法讀取將table轉(zhuǎn)換為Json
這篇文章主要介紹了通過Jquery的Ajax方法讀取將table轉(zhuǎn)換為Json,需要的朋友可以參考下2014-05-05如何確保JavaScript的執(zhí)行順序 之jQuery.html深度分析
在上一篇文章《如何確保JavaScript的執(zhí)行順序 - 之實戰(zhàn)篇》中,我們發(fā)現(xiàn)jQuery的html函數(shù)能夠確保動態(tài)加載的JavaScript按照引入順序執(zhí)行。2011-03-03jQuery插件開發(fā)精品教程讓你的jQuery提升一個臺階
這篇文章主要介紹了jQuery插件開發(fā)精品教程讓你的jQuery提升一個臺階 的相關資料,需要的朋友可以參考下2016-01-01