朋友做的效果,特拿出来分享给大家:淘宝特效JS实现图片等比例缩放,占满DIV,短的显示全,长的超出隐藏
效果图如下:
代码如下:
<style type="text/css"> .div { float: left; overflow: hidden; margin: 5px; width: 200px; height: 150px; background: #97CFF0; border: solid 1px #09F; text-align: center; } .div img { border: 0; } </style> <div class="div"><a href="#" target="_blank"><img src="images/1.jpg" alt="" onload="chgdivimgwh(this,200,150)" /></a></div> <script> //自动缩放图片尺寸,占满整个DIV,短的显示全,长的超出隐藏只显示部分,不够DIV宽高的则拉伸 //参数:图片对象,图片宽度,图片高度 function chgdivimgwh(obj,width,height){ var image=new Image(); image.src=obj.src; //获取图像路径 var width1=image.width; //获取图像宽度 var height1=image.height; //获取图像高度 var a1=height1/width1; var a2=height/width; if(a1>a2){ obj.width=width; obj.height=height1*width/width1; obj.style.marginTop='-' + Math.round((obj.height-height)/2)+ 'px'; }else{ obj.height=height; obj.width=width1*height/height1; obj.style.marginLeft='-' + Math.round((obj.width-width)/2)+ 'px'; } } </script>