JavaScript獲取圖片真實(shí)大小代碼實(shí)例
網(wǎng)頁(yè)頁(yè)面上的圖片尺寸似乎都千篇一律。我們最常見(jiàn)到的帶有多圖的文章頁(yè)面中,圖的大小通常是和頁(yè)面的寬度一致,這樣看起來(lái),頁(yè)面就是一個(gè)直筒形,這樣的布局看多了就會(huì)覺(jué)得很單調(diào)。之所以形成這樣的局面,我想很大程度上是因?yàn)槔鲜綖g覽器的限制。但隨著現(xiàn)代瀏覽器(火狐/谷歌/IE11)的普及,瀏覽器對(duì)頁(yè)面設(shè)計(jì)的限制越來(lái)越少,Web程序員的想象能力能夠得到極大的發(fā)揮。
比如,冷知識(shí):你知道每個(gè)視窗都有的 [x] 是怎么來(lái)的嗎?這篇文章中,很多圖片超出了文本寬度的限制,給人一種參差錯(cuò)落的感覺(jué),同時(shí),讓大圖片以其真實(shí)的尺寸展示,給人以更震撼的感覺(jué)。
但從技術(shù)上,我們可以輕松的用文本的最大寬度限制圖片,讓它們都保持一個(gè)寬度,而不按文本的寬度時(shí),我們就需要每個(gè)圖片的自己的尺寸。我們可以在服務(wù)端編輯時(shí)聲明圖片的原始尺寸。而一種更靈活的方式是通過(guò)在頁(yè)面上放一段js來(lái)動(dòng)態(tài)的獲取圖片的原始大小尺寸,動(dòng)態(tài)改變圖片的顯示大小。這樣即能兼容老的也文本最大寬度的方式,還可以在需要的時(shí)候讓圖片呈現(xiàn)出其原始的大小。
如何用JavaScript在瀏覽器端獲取圖片的原始尺寸大小?
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對(duì)圖片大小尺寸的影響,上面的代碼將圖片拷貝到內(nèi)存中進(jìn)行計(jì)算。
如果你的頁(yè)面是老式頁(yè)面,你可以按需把這段代碼嵌入頁(yè)面底部,它不需要你修改原有頁(yè)面。
- JavaScript通過(guò)select動(dòng)態(tài)更換圖片的方法
- JavaScript控制圖片加載完成后調(diào)用回調(diào)函數(shù)的方法
- JavaScript實(shí)現(xiàn)判斷圖片是否加載完成的3種方法整理
- JavaScript限定圖片顯示大小的方法
- javascript制作網(wǎng)頁(yè)圖片上實(shí)現(xiàn)下雨效果
- javascript實(shí)現(xiàn)圖片循環(huán)漸顯播放的方法
- JavaScript獲取圖片的原始尺寸以寬度為例
- javascript 獲取圖片尺寸及放大圖片
- javascript 獲取圖片顏色
- JavaScript獲取網(wǎng)頁(yè)中第一個(gè)圖片id的方法
相關(guān)文章
使用layui實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法
今天小編就為大家分享一篇使用layui實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
Typescript文件被識(shí)別為視頻的問(wèn)題解決
這篇文章主要為大家介紹了Typescript文件被識(shí)別為視頻的問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
BootstrapValidator實(shí)現(xiàn)表單驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了BootstrapValidator實(shí)現(xiàn)表單驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
一個(gè)css與js結(jié)合的下拉菜單支持主流瀏覽器
這是一個(gè)css和js結(jié)合的下拉菜單,經(jīng)測(cè)試支持主流瀏覽器,比較適合企業(yè)站,需要的朋友可以參考下2014-10-10
javascript?Echart可視化學(xué)習(xí)
這篇文章主要為大家介紹了Echart可視化學(xué)習(xí)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01
JavaScript 上傳文件(psd,壓縮包等),圖片,視頻的實(shí)現(xiàn)方法
本文通過(guò)實(shí)例代碼給大家介紹了JavaScript 上傳文件(psd,壓縮包等),圖片,視頻功能,需要的朋友可以參考下2017-06-06

