检查加载更改src上是否不存在图像
check if images not exist on load change src
我正试图用javascript将图像大小更改为500x375,而不是130x98。如果该图像没有500x37,那么我希望它回退到130x98。
到目前为止,我有下面的代码。它将我的图像更改为500x375,但那些没有该尺寸的图像似乎已损坏,而不是回落到130x98。关于如何解决这个问题有什么想法吗?
function ImageExists(selector) {
var imageFound = $(selector);
if (imageFound.height() === 0) {
console.log('no height');
return false;
}
return true;
}
$('div.photo > a > img').each(function(k, v) {
var x = v.src;
v.src = x.replace('130x98', '500x375');
if (!ImageExists(v)) {
console.log(v.src);
v.src = x.replace('500x375', '130x98')
}
});
您可以尝试此代码
$(document).ready(function(){
var src1 = '130x98';
var src2 = '500x375';
$('div.photo > a > img').each(function(){
var changeSrc;
var Image = $(this);
var GetSrc = $(this).attr('src');
Image.error(function() {
if(GetSrc.indexOf(src1) !== -1 ){
changeSrc = GetSrc.replace(src1 , src2);
}else if(GetSrc.indexOf(src2) !== -1 ){
changeSrc = GetSrc.replace(src2 , src1);
}
Image.attr("src", changeSrc);
});
})
});
DEMO
这一行的v.src = x.replace('500x375', '130x98'):
中是否缺少分号??
试着把alert();
函数放在你怀疑的那一行。。。如果任何前一行出现错误,alert();
将不起作用
$('div.photo > a > img').each(function (k, v) {
var x = v.src;
v.src = x.replace('130x98', '500x375');
if (!ImageExists(v)) {
console.log(v.src);
v.src = x.replace('500x375', '130x98');
};
不如尝试on error事件而不是ImageExists方法:
$("img").error(function () {
//load in your default image dimensions.
});
当加载图像时出现错误时,将触发此操作。
您可能还想在第一次运行此事件时解除绑定,以防它持续循环。
相关文章:
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 使用webdriver和selenium验证元素是否不存在
- 如果文件不存在,fs.watch是否有错误处理程序
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- MongoDB 的集合构造函数是否仅在集合不存在时才创建集合
- JavaScript 检查特定元素 (iframe) 是否存在,如果不存在,则检查 appendchild
- 如果事件附加到不存在的元素,是否可以触发该事件
- 文件输入 :Chrome 在提交表单之前不会检查文件是否仍然存在
- 测试以查看具有 json 值的图像是否损坏/不存在,并替换为“无照片”图像
- 是否有一个 jQuery 选择器查找不存在的子字符串
- 检查通过服务器内联加载的现有JSON obj,以确定工厂是否应该调用以获取相同的obj'还不存在
- 在“对象”中预设选项,并查看它是否没有'在允许的属性中不存在
- 检查是否存在多个字段,如果不存在,则返回MongoDB中的所有项
- 检查加载更改src上是否不存在图像
- 检查元素是否不存在
- 是否有一种方法来验证YouTube视频ID,同时处理CORS和不存在的API
- 检查是否存在嵌套在对象深处的函数,这些函数可能不存在
- 如何用JavaScript理解是否不存在这样的cookie
- 检查JSON对象中value是否不存在
- soundcloud API -检测曲目是否不存在