在网上找到一段代码:
$(document).ready(function(){
$("#viewnews_body img").each(function(){
var width = 620;
var height = 600;
var image = $(this);
if (image.width() > image.height()){
if(image.width()>width){
image.width(width);
image.height(width/image.width()*image.height());
}
}else{
if(image.height()>height){
image.height(height);
image.width(height/image.height()*image.width());
}
}
});
});
用这个方法了实现运行效果不稳定,有时间图片还没有加载完毕就会先执行了。
所以改用给所有需要限制大小的图片绑定load事件的方法来实现,这样保证了在每个图片加载完后再分别执行限制大小的代码。代码如下:
$(document).ready(function(){
$("#viewnews_body img").bind("load",function(){
var width = 620;
var height = 600;
var image = $(this);
if (image.width() > image.height()){
if(image.width()>width){
image.width(width);
image.height(width/image.width()*image.height());
}
}else{
if(image.height()>height){
image.height(height);
image.width(height/image.height()*image.width());
}
}
});
});
转载请注明:谷谷点程序 » jquery限制图片大小