看板 Web_Design 關於我們 聯絡資訊
主要參考 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