JavaScript獲取圖片真實(shí)大小代碼實(shí)例
網(wǎng)頁頁面上的圖片尺寸似乎都千篇一律。我們最常見到的帶有多圖的文章頁面中,圖的大小通常是和頁面的寬度一致,這樣看起來,頁面就是一個(gè)直筒形,這樣的布局看多了就會(huì)覺得很單調(diào)。之所以形成這樣的局面,我想很大程度上是因?yàn)槔鲜綖g覽器的限制。但隨著現(xiàn)代瀏覽器(火狐/谷歌/IE11)的普及,瀏覽器對頁面設(shè)計(jì)的限制越來越少,Web程序員的想象能力能夠得到極大的發(fā)揮。
比如,冷知識(shí):你知道每個(gè)視窗都有的 [x] 是怎么來的嗎?這篇文章中,很多圖片超出了文本寬度的限制,給人一種參差錯(cuò)落的感覺,同時(shí),讓大圖片以其真實(shí)的尺寸展示,給人以更震撼的感覺。
但從技術(shù)上,我們可以輕松的用文本的最大寬度限制圖片,讓它們都保持一個(gè)寬度,而不按文本的寬度時(shí),我們就需要每個(gè)圖片的自己的尺寸。我們可以在服務(wù)端編輯時(shí)聲明圖片的原始尺寸。而一種更靈活的方式是通過在頁面上放一段js來動(dòng)態(tài)的獲取圖片的原始大小尺寸,動(dòng)態(tài)改變圖片的顯示大小。這樣即能兼容老的也文本最大寬度的方式,還可以在需要的時(shí)候讓圖片呈現(xiàn)出其原始的大小。
如何用JavaScript在瀏覽器端獲取圖片的原始尺寸大?。?/p>
var img = $(“#img_id”); // Get my img elem
var pic_real_width, pic_real_height;
$(“<img/>”) // Make in memory copy of image to avoid css issues
.attr(“src”, $(img).attr(“src”))
.load(function() {
pic_real_width = this.width; // Note: $(this).width() will not
pic_real_height = this.height; // work for in memory images.
});
Webkit瀏覽器(谷歌瀏覽器等)是在圖片的loaded事件之后才能獲取高度和寬度值。所以,你不能使用timeout函數(shù)延時(shí)等待,最好的方法是使用圖片的onload事件。
為了避免CSS對圖片大小尺寸的影響,上面的代碼將圖片拷貝到內(nèi)存中進(jìn)行計(jì)算。
如果你的頁面是老式頁面,你可以按需把這段代碼嵌入頁面底部,它不需要你修改原有頁面。
- JavaScript通過select動(dòng)態(tài)更換圖片的方法
- JavaScript控制圖片加載完成后調(diào)用回調(diào)函數(shù)的方法
- JavaScript實(shí)現(xiàn)判斷圖片是否加載完成的3種方法整理
- JavaScript限定圖片顯示大小的方法
- javascript制作網(wǎng)頁圖片上實(shí)現(xiàn)下雨效果
- javascript實(shí)現(xiàn)圖片循環(huán)漸顯播放的方法
- JavaScript獲取圖片的原始尺寸以寬度為例
- javascript 獲取圖片尺寸及放大圖片
- javascript 獲取圖片顏色
- JavaScript獲取網(wǎng)頁中第一個(gè)圖片id的方法
相關(guān)文章
js設(shè)置cookie過期及清除瀏覽器對應(yīng)名稱的cookie
js設(shè)置cookie過期也就相當(dāng)于清除瀏覽器對應(yīng)名稱的cookie,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10利用Echarts實(shí)現(xiàn)圖例顯示百分比效果
EChart開源來自百度商業(yè)前端數(shù)據(jù)可視化團(tuán)隊(duì),基于html5?Canvas,是一個(gè)純Javascript圖表庫,提供直觀,生動(dòng),可交互,可個(gè)性化定制的數(shù)據(jù)可視化圖表。本文將利用EChart實(shí)現(xiàn)圖例中顯示百分比的效果,感興趣的可以學(xué)習(xí)一下2022-03-03一個(gè)不錯(cuò)的用JavaScript實(shí)現(xiàn)的UBB編碼函數(shù)
一個(gè)不錯(cuò)的用JavaScript實(shí)現(xiàn)的UBB編碼函數(shù)...2007-03-03JS獲取經(jīng)緯度并根據(jù)經(jīng)緯度得到城市信息簡單示例
前端時(shí)間剛好使用了百度地圖的js api定位獲取用戶當(dāng)前經(jīng)緯度并獲取當(dāng)前詳細(xì)位置的功能,為了方便下次找起來方便一些自己在這里記錄一下,這篇文章主要給大家介紹了關(guān)于JS獲取經(jīng)緯度并根據(jù)經(jīng)緯度得到城市信息的相關(guān)資料,需要的朋友可以參考下2023-11-11js實(shí)現(xiàn)的四級左側(cè)網(wǎng)站分類菜單實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的四級左側(cè)網(wǎng)站分類菜單,實(shí)例分析了javascript操作頁面元素實(shí)現(xiàn)tab切換的相關(guān)技巧,需要的朋友可以參考下2015-05-05JS基于VML技術(shù)實(shí)現(xiàn)的五角星禮花效果代碼
這篇文章主要介紹了JS基于VML技術(shù)實(shí)現(xiàn)的五角星禮花效果代碼,涉及JavaScript數(shù)學(xué)運(yùn)算與頁面元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2015-10-10