图片自动缩小完美策略 分享
2008-03-19 11:22
183 查看
要求是,如何把文章中的大图片自动缩小,以防止图片破坏页面的布局,同时又不希望小图也被放大,最重要的是要兼容IE浏览器和火狐等主流浏览器。
XML/HTML代码
<img border="0" src="图片路径" onload="javascript:if(this.width>500)this.width=500" />
虽然也可以实现缩图的效果,但是如果图片很大,页面还是会先被撑破,再缩小,效果也不理想。
实现思路很简单,改造js代码,既然图片很大,那么我们先用最经典的限制width的方法限制大图的宽度,但是小图怎么办?小图我们用onload的方法再缩小,就这么搞定了。完美代码如下:
对应的js:
JavaScript代码
<script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width>650){
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
}
}
//-->
</script>
对应的HTML:
XML/HTML代码
<img border=0 src="图片路径" onload="javascript:DrawImage(this);" width="650" />
附其他方法供参考:
1、用鼠标拖动来改变大小
以下是代码片段:
JavaScript代码
<SCRIPT LANGUAGE="JavaScript">
function resizeImage(evt,obj){
newX=evt.x
newY=evt.y
obj.width=newX
obj.height=newY
}
</script>
<img src="7say.gif" ondrag="resizeImage(event,this)">
2、用鼠标滚动控制图片大小
以下是代码片段:
XML/HTML代码
<img src="7say.gif" onmouseenter="focus();" onmouseout="blur();" onmousewheel="width+=(window.event.wheelDelta==120)?-5:+5;">
3、图片标签里用代码控制大小
以下是代码片段:
XML/HTML代码
<img border="0" src="[!--picurl--]" onload="if(this.width>screen.width-500)this.style.width=screen.width-500;">
4、CSS控制图片大小
1. css2直接实现 (IE暂不支持):
CSS代码
img{max-width: 500px;}
2. expression实现(IE only):
CSS代码
img{width:expression(width>500?"500px":width);}
3. 使用js. 方法: 用 document.getElementsByTagName(”IMG”) 的方法取得全部img元素 遍历img元素 判断其宽度并做相应操作
XML/HTML代码
<img border="0" src="图片路径" onload="javascript:if(this.width>500)this.width=500" />
虽然也可以实现缩图的效果,但是如果图片很大,页面还是会先被撑破,再缩小,效果也不理想。
实现思路很简单,改造js代码,既然图片很大,那么我们先用最经典的限制width的方法限制大图的宽度,但是小图怎么办?小图我们用onload的方法再缩小,就这么搞定了。完美代码如下:
对应的js:
JavaScript代码
<script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width>650){
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
}
}
//-->
</script>
对应的HTML:
XML/HTML代码
<img border=0 src="图片路径" onload="javascript:DrawImage(this);" width="650" />
附其他方法供参考:
1、用鼠标拖动来改变大小
以下是代码片段:
JavaScript代码
<SCRIPT LANGUAGE="JavaScript">
function resizeImage(evt,obj){
newX=evt.x
newY=evt.y
obj.width=newX
obj.height=newY
}
</script>
<img src="7say.gif" ondrag="resizeImage(event,this)">
2、用鼠标滚动控制图片大小
以下是代码片段:
XML/HTML代码
<img src="7say.gif" onmouseenter="focus();" onmouseout="blur();" onmousewheel="width+=(window.event.wheelDelta==120)?-5:+5;">
3、图片标签里用代码控制大小
以下是代码片段:
XML/HTML代码
<img border="0" src="[!--picurl--]" onload="if(this.width>screen.width-500)this.style.width=screen.width-500;">
4、CSS控制图片大小
1. css2直接实现 (IE暂不支持):
CSS代码
img{max-width: 500px;}
2. expression实现(IE only):
CSS代码
img{width:expression(width>500?"500px":width);}
3. 使用js. 方法: 用 document.getElementsByTagName(”IMG”) 的方法取得全部img元素 遍历img元素 判断其宽度并做相应操作
相关文章推荐
- css+javascript 图片自动同比例缩小并且实现垂直居中
- 图片自动按比例缩小代码(防止页面被图片撑破)
- .net上传图片按比例自动缩小或放大
- 指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
- div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧(转)
- 纯css的防止图片撑破页面的代码图片会自动按比例缩小
- 网页图片自动缩小代码
- 完美解决RecyclerView加载网络图片时自动
- 完美实现同时分享图片和文字(Intent.ACTION_SEND)
- 47、JavaScript的运动----完美运动框架的应用----放大缩小图片的实现(布局转换的实现)
- 图片固定在图片框内,大小自动适应,宽高避免拉伸[摘自布布分享,tech.bubufx.com]
- .Net中上传图片按比例自动缩小或放大
- 又一个图片自动缩小的JS代码
- 完美解决phpcms图片太大撑破表格图片自适应图片按比例缩小
- div+css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧
- 图片会自动按比例缩小(js版和css版)
- Python批量按比例缩小图片脚本分享
- div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧
- js+css图片自动等比例缩小且垂直居中
- ECCMS下显示文章内容的图片时超出大小自动缩小,点击放大图片