有時候我們更新的內容,有很多的大圖片,就會導致頁面變形或看不到全圖。一般情況我們用css的max-width控制,但有些浏覽器不支持,我們也可以用js做個補充
代碼如下: <div id=article><img height="800" alt="" width="1280" src="/down/js/images/12498880470.jpg" /></div> <script type="text/javascript" > //縮放圖片到合適大小 function ResizeImages() { var myimg,oldwidth,oldheight; var maxwidth=550; var maxheight=880 var imgs = document.getElementById('article').getElementsByTagName('img'); //如果你定義的id不是article,請修改此處 for(i=0;i<imgs.length;i++){ myimg = imgs[i]; if(myimg.width > myimg.height) { if(myimg.width > maxwidth) { oldwidth = myimg.width; myimg.height = myimg.height * (maxwidth/oldwidth); myimg.width = maxwidth; } }else{ if(myimg.height > maxheight) { oldheight = myimg.height; myimg.width = myimg.width * (maxheight/oldheight); myimg.height = maxheight; } } } } //縮放圖片到合適大小 ResizeImages(); </script> 意思就是控制指定區域的的圖片大小,要不一些大點的廣告圖片也會變形。 用的圖片控制代碼: 代碼如下: function controlImg(ele,w,h){ var c=ele.getElementsByTagName("img"); for(var i=0;i<c.length;i++){ var w0=c[i].clientWidth,h0=c[i].clientHeight; var t1=w0/w,t2=h0/h; if(t1>1||t2>1||w0>=600){ c[i].width=Math.floor(w0/(t1>t2?t1:t2)); c[i].height=Math.floor(h0/(t1>t2?t1:t2)); if(document.all){ c[i].outerHTML='<a href="'+c[i].src+'" target="_blank" title="在新窗口查看圖片">'+c[i].outerHTML+'</a>' } else{ c[i].title="在新窗口打開圖片"; c[i].onclick=function(e){window.open(this.src)} } } } } ele就是指定的區域,w是最大的寬度,大於這個就會縮小。h是最大的高度。