项目中定义一个图片加载方法,源码如下$.fn.CalImage=function(imgSrc,iwidth,iheight){
var image=new Image();
image.src=imgSrc;
if(image.complete){
var oImage=new Image();
oImage.src=imgSrc;
if(image.width>0 && image.height>0){
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
oImage.width=iwidth;
oImage.height=(image.height*iwidth)/image.width;
}else{
oImage.width=image.width;
oImage.height=image.height;
}
}else{
if(image.height>iheight){
oImage.height=iheight;
oImage.width=(image.width*iheight)/image.height;
}else{
oImage.width=image.width;
oImage.height=image.height;
}
}
}
return oImage;
}else{
image.onload=function(){
var oImage=new Image();
oImage.src=imgSrc;
if(image.width>0 && image.height>0){
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
oImage.width=iwidth;
oImage.height=(image.height*iwidth)/image.width;
}else{
oImage.width=image.width;
oImage.height=image.height;
}
}else{
if(image.height>iheight){
oImage.height=iheight;
oImage.width=(image.width*iheight)/image.height;
}else{
oImage.width=image.width;
oImage.height=image.height;
}
}
}
image.onload=null;
return oImage;
};
}
};
现在在另一个方法中调用它$.fn.preview = function(width,height){
var oWidth=width?width:300;
var oHeight=height?height:400;
$(this).each(function(){
$(this).hover(function(e){
var xOffset = 10;
var yOffset = 20;
var w = $(window).width();
console.log('开始执行图片浏览');
var oTemp=$(this).attr('data')?$(this).attr('data'):$(this).attr('src');
var oImage=$(this).CalImage(oTemp,oWidth,oHeight);
console.log(oImage);
}
在chrome中可以使用但是在IE中会报错
SCRIPT5007: 无法获取属性“src”的值: 对象为 null 或未定义
preview.js, 行73 字符5
求指教,纠结很久了!
解决了没有啊,同样碰到了这蛋疼的问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。