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設(shè)為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); // 我這里設(shè)置的是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','chabaoo.cn');
}
}
}
}
}
}
String.prototype.replaceAll = function(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
fixNDPic()到此這篇關(guān)于jquery中判斷圖片是否存在的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)jquery判斷圖片是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
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-03
jQuery插件開發(fā)精品教程讓你的jQuery提升一個臺階
這篇文章主要介紹了jQuery插件開發(fā)精品教程讓你的jQuery提升一個臺階 的相關(guān)資料,需要的朋友可以參考下2016-01-01

