最新消息: 新版网站上线了!!!

jquery限制图片大小

最近在搞一个信息网站,文章内容中可以显示图片,所以就需要限制用户贴进去的图片的显示大小了。

在网上找到一段代码:

$(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限制图片大小