热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> AJAX编程>>正文内容

jQuery实现按比例缩放图片

发布时间:2009年03月03日点击数: 未知
在网站中通常要显示各种尺寸的图片,但图片的尺寸不一定符合显示的要求。如果直接指定img的width和height属性的话图片又很可能会被挤压的变形。下面这个代码可以把图片放进一个imgBox,并根据imgBox的大小来按比例缩放图片以适应他,同时图片会在imgBox中居中显示。来看代码:
首先是HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>按比例自动缩放图片</title>

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/drawImg"></script>
</head>

<body>
<div id="imgBox" style="width:500px; height:400px; background:#cccccc; overflow:hidden">
    <img id="img1" alt="" src="images/1.jpg" onload="DrawImg(500,400);" />
</div>
</body>
</html>

再是JavaScript:
function DrawImg(boxWidth,boxHeight)
{
     var imgWidth=$("#img1").width();
     var imgHeight=$("#img1").height();
     //比较imgBox的长宽比与img的长宽比大小
     if((boxWidth/boxHeight)>=(imgWidth/imgHeight))
     {
         //重新设置img的width和height
         $("#img1").width((boxHeight*imgWidth)/imgHeight);
        $("#img1").height(boxHeight);
        //让图片居中显示
        var margin=(boxWidth-$("#img1").width())/2;
        $("#img1").css("margin-left",margin);
    }

    else
    {
        //重新设置img的width和height
        $("#img1").width(boxWidth);
        $("#img1").height((boxWidth*imgHeight)/imgWidth);
        //让图片居中显示
        var margin=(boxHeight-$("#img1").height())/2;
        $("#img1").css("margin-top",margin);
    }

}

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作