作者KC73 (肯先生)
看板Web_Design
標題Re: [問題] Javascript判斷圖片大小
時間Fri Dec 26 21:13:14 2008
主要參考
http://www.webmasterworld.com/forum91/148.htm 裡面
的第一篇回覆。
因為 IE 裡面, onload 是 img 一開始 load, 就會觸發, 所以要用
img.complete 檢查 img 是否已經完成 load。
Firefox 的話, 直接用 onload 就可以了。
其他瀏覽器就不確定了。
<img src='xxx.gif' onload='resize(this);'/>
<script type='text/javascript'>
function resize(img) {
if (是 MSIE) {
// 如果還沒 load 完, 過一秒再回來看
if (!img.complete(img)) setTimeout('resize(img);',1000);
}
// 底下就是你原本改 size 的 code 了
}
</script>
可是話說回來, 原本的圖案蠻大的, 硬 resize 到那麼小, 還蠻浪費頻寬的,
如果可以存一大一小的圖, 還是會比較理想。
※ 引述《JRaheng (C'est La Vie)》之銘言:
: 目前我用PHP寫了一個網站
: 而網站用到的圖片有1600x1200跟1200x1600兩種格式
: 我之前是直接在<img>裡固定了圖片的大小(100x100)
: 但是1600x1200的圖片有點被拉長 1200x1600有點被壓縮
: 所以我就用Javascript寫了一個程式去判斷圖片的寬、高做合理的縮放:
: <script language="Javascript">
: <!--
: function min(img){
: if(img.width/img.height>1){
: if(img.width>100){img.width=92;
: img.height=69;
: }
: }
: else{
: if(img.height>100){img.height=92;
: img.width=69;
: }
: }
: }
: -->
: </script>
: 之後再在<img>裡寫onload="javascript:min(this);"
: 可是又有問題來了:
: 因為是在載入頁面的時候去做判斷
: 所以只要網頁圖片一多 有時候就不會每張圖都被壓成92x69或69x92
: 而直接是他原本的大小~
: 這有辦法可以解決嗎?
: 因為本身其實是負責網頁的美工
: Javascript有寫錯的地方就多多指教="=
: 感謝~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.142.8
推 JRaheng:感謝幫忙~~~你說的意見我會參考看看的^^ 12/26 22:03
推 wingchord:推實用 12/27 22:13