关于控制图片大小,防止图片变形问题

wuyangguan 2008-04-24 12:49:52
防止图片变形,这种JS代码很多了网上,在图片onload事件中:
function ReSizeimgPlay(ImgDs,iwidth,iheight) {
var ImdD=document.getElementById(ImgDs);
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
}
}这样会出现问题,当页面有很多图片要一起显示的时候经常会有几张图片没有受到效果,使整个页面挤的一塌糊涂.查了些资料自己也测试过可能一些onload事件没有执行,于是在最下面加上代码<script>window.onload=function(){a();}</script> 这里的a()函数就是循环所有要控制的图片,然后控制不变形.但是还是会有几张图片不听话没效果,大部分都有效果.后来我随便写了发现有一种方法每次都有效果,就是不明白为什么??所以想问问.
方法是这样<script>
window.onload=function(){a();};
a();</script> (a()函数我前面已经说明过了不贴出来),这两句话缺一不可,页面载入的时候刚开始会出现一些图片不受控制,但很快不受控制的图片马上缩放回去受到作用了.为什么会这样呢
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
等待牛人来答.
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
我也想了解,谢谢LZ.
wuyangguan 2008-04-24
  • 打赏
  • 举报
回复
开始的时候我是在图片onload事件中做动作,但是并不是所有图片都有效果,经常会有个别图片没有效果,挤得整个页面很乱,查了下说是图片onload事件经常没有触发,于是我才用下面那种方法写
「已注销」 2008-04-24
  • 打赏
  • 举报
回复
兄弟,你应该在<img onload="resizeImage(this,100,100)">里做些小动作……

/*图片自适应*/
function resizeImage(source,maxwidth,maxheight)
{
var width=source.width;
var height=source.height;
var scale=Math.max(width/maxwidth,height/maxheight);
if(scale>1)
source.width=width/scale;
}

@_@
wuyangguan 2008-04-24
  • 打赏
  • 举报
回复
虽然不是刚注册的号,但确实第一次发言,没有分不好意思阿

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧