手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >纯js实现div内图片自适应大小(已测试,兼容火狐)
纯js实现div内图片自适应大小(已测试,兼容火狐)
摘要:这代码实现的功能就是平常我们遇到的一个div里面包含img的时候,在img图片大小未知,div大小未知的情况下,让图片自适应大小,对于图片本...

这代码实现的功能就是平常我们遇到的一个div里面包含img的时候,在img图片大小未知,div大小未知的情况下,让图片自适应大小,对于图片本身小于div容器大小时,不作处理。因为如果拉伸,图片可能就失真了。

废话不多说,直接上代码,已测试,兼容火狐,谷歌,IE6,IE7/8

以下是js代码:

复制代码 代码如下:

<script type="text/javascript" language="javascript">

window.onload=function(){

changeImgSize();

}

function changeImgSize(){

var getContainer=document.getElementById('imgcontainer');

var getIMG=getContainer.getElementsByTagName('img')[0];

var fw=getContainer.offsetWidth-(2*getContainer.clientLeft);

var fh=getContainer.offsetHeight-(2*getContainer.clientTop);

var iw=getIMG.width;

var ih=getIMG.height;

var m=iw/fw;

var n=ih/fh;

if(m>=1&&n<=1)

{

iw=Math.ceil(iw/m);

ih=Math.ceil(ih/m);

getIMG.width=iw;

getIMG.height=ih;

}

else if(m<=1&&n>=1)

{

iw=Math.ceil(iw/n);

ih=Math.ceil(ih/n);

getIMG.width=iw;

getIMG.height=ih;

}

else if(m>=1&&n>=1)

{

getMAX=Math.max(m,n);

iw=Math.ceil(iw/getMAX);

ih=Math.ceil(ih/getMAX);

getIMG.width=iw;

getIMG.height=ih;

}

if(getIMG.height<fh)

{

var getDistance=Math.floor((fh-getIMG.height)/2);

getIMG.style.marginTop=getDistance.toString()+"px";

}

}

</script>

以下是html代码:

复制代码 代码如下:

<div id="imgcontainer"><img src="images/444.jpg" /></div>

以下是css代码:

复制代码 代码如下:

.sy_pic{ width:200px; height:300px; border:#000 solid 5px; text-align:center;}

自己换下图片地址使用。有问题或者指教请加QQ群:255708401。

【纯js实现div内图片自适应大小(已测试,兼容火狐)】相关文章:

jQuery实现鼠标经过图片变亮其他变暗效果

Node.js实现JS文件合并小工具

js操作css属性实现div层展开关闭效果的方法

必须点击广告才能进入的代码

js实现div层缓慢收缩与展开的方法

js+html5实现canvas绘制圆形图案的方法

jquery实现弹出层效果实例

jQuery实现div随意拖动的实例代码(通用代码)

js实现精美的图片跟随鼠标效果实例

Javascript实现图片轮播效果(二)图片序列节点的控制实现

精品推荐
分类导航