自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

javascript解決圖片縮放及其優(yōu)化

開發(fā) 前端
說起IE6,真是讓我們這些做前端的人又恨又無奈,許多屬性都不支持??刹簧儆脩暨€在用它,我們也不能無視。為了兼容,我只好跟同事請教了一下,然后針對IE6用js縮放來顯示圖片并進行了一些細節(jié)上的優(yōu)化。

今天上午,一個客戶跟我聯(lián)系說,剛給他做的網(wǎng)站,顯示不正常,我頓時一緊張,這是我獨立完成的第一個項目,于是趕緊打開他的網(wǎng)站看了看,沒看出什么不正常來。我又問他怎么不正常,他說和交接項目時的效果不一樣,暈,交接時要是不正常,項目肯定交接不了啊,干脆讓他截個圖過來。果然不正常,是他剛上傳的一張圖片把顯示內(nèi)容的窗口撐開了。查看代碼,明明寫好了max-width,怎么還會出現(xiàn)這種情況。突然發(fā)現(xiàn)他發(fā)來的圖上,那個瀏覽器看著不順眼,像是古老的而神圣的IE6!經(jīng)過確認,果然是它,又是它!我真是疏忽,沒給他在IE6下測試就交工了。

說起IE6,真是讓我們這些做前端的人又恨又無奈,許多屬性都不支持。可不少用戶還在用它,我們也不能無視。為了兼容,我只好跟同事請教了一下,然后針對IE6用js縮放來顯示圖片并進行了一些細節(jié)上的優(yōu)化。

盡管今天的這個客戶網(wǎng)站比較小,對網(wǎng)站性能的要求也不高,但考慮以后可能還會用到這些東西,做優(yōu)化是個長期學習的過程,我查閱了一些文章,說是如果利用img標簽的onload方法來調用函數(shù)進行尺寸的修改,對性能的影響比較大,另外,利用 -expression 行為似乎也不可?。ㄒ院罄^續(xù)求證吧),所以,最后是采用頁面加載時觸發(fā)。

  1. function resizeImage(img,width){   
  2. var image=new Image();   
  3. image.src=img.src;   
  4. var temp = image.width;   
  5. img.width = temp = (temp>width)?width:temp;   
  6. img.style.display = "inline";   
  7. }   
  8. function doResize(){   
  9. if($.browser.version==6&&$.browser.msie) $("img").each(function(){resizeImage(this,100)});   
  10. }   
  11. window.onload = doResize; 

這段代碼利用resizeImage函數(shù)判斷,并且修改img.width屬性,原理比較簡單,在這段代碼前面我還加了一個對IE6瀏覽器的判定,除了它以外,我還是讓CSS搞定圖片的尺寸。我在代碼中沒有定義圖片的高和寬的數(shù)值,這樣在縮放時,只要修改其中的一個數(shù)值,讓另一個數(shù)值去自適應,而不是讓js去執(zhí)行等比縮放,這也算是一點點優(yōu)化吧。我在代碼中引用了Jquery(因為習慣了),你沒必要這樣做,我之所以這么寫,是在DOM元素返回以后可以統(tǒng)一進行函數(shù)處理??紤]到客戶經(jīng)常會使用外鏈的圖片,這時,網(wǎng)頁的顯示速度就受到圖片源的影響,所以在頁面加載時我先利用CSS把需要顯示的圖片隱藏,直到圖片縮放后再利用js的方法顯示圖片,因此,又對IE6做了個hack:

  1. img{   
  2. display:inline !important;   
  3. display:none;   
  4. max-width:180px;   
  5. }  

原文鏈接:http://www.cnblogs.com/ilian/archive/2012/05/18/js-img-resize.html

【編輯推薦】

  1. 分享5個最佳的JavaScript日期處理類庫
  2. JavaScript表格組件加載速度測試
  3. JavaScript是一門令人愉悅的語言
  4. 5種JavaScript調用函數(shù)的方法
  5. 10件有關JavaScript讓人費解的事情
責任編輯:張偉 來源: 愛蓮學堂的博客
相關推薦

2010-10-08 14:54:22

JavaScript特

2010-10-08 16:11:06

Javascript數(shù)

2020-12-17 07:52:38

JavaScript

2011-05-12 11:28:20

按比例縮放

2011-06-22 17:11:18

SEO

2014-12-10 10:12:02

Web

2013-05-27 09:52:35

Android開發(fā)移動開發(fā)移動應用

2021-08-19 14:47:47

鴻蒙HarmonyOS應用

2013-05-27 10:01:06

Android開發(fā)Android應用縮放圖片

2012-08-15 09:22:49

JavaScript

2011-06-24 16:44:43

網(wǎng)站優(yōu)化

2013-01-21 10:19:50

JavaScript項目管理JS

2024-09-14 11:23:19

2022-08-31 12:15:09

JavaScript代碼優(yōu)化

2022-09-12 15:51:38

JavaScrip開發(fā)編程語言

2011-06-23 19:13:08

ALT標簽

2011-07-13 09:46:23

javaScript

2023-04-06 15:21:34

IIoT自動化

2022-02-23 12:07:20

分布式Spark數(shù)據(jù)傾斜

2011-07-21 16:40:28

網(wǎng)站優(yōu)化
點贊
收藏

51CTO技術棧公眾號