狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript動(dòng)態(tài)調(diào)整圖片尺寸

admin
2010年2月9日 10:30 本文熱度 8450
在自己的網(wǎng)站上更新文章時(shí)一個(gè)比較常見(jiàn)的問(wèn)題是:文章插圖太寬,使整個(gè)網(wǎng)頁(yè)都變形了。如果對(duì)每個(gè)插圖都先進(jìn)行縮放再插入的話(huà),太麻煩了。
我前段時(shí)間寫(xiě)的一篇文章就遇到過(guò)這種事情,后來(lái)用CSS的overflow和max-width屬性暫時(shí)解決了頁(yè)面變形的問(wèn)題。這種方法好處是簡(jiǎn)單,但壞處是會(huì)破壞某些細(xì)節(jié)的效果。
如overflow:hidden,意思是當(dāng)內(nèi)部元素寬度大于父框架時(shí)隱藏超出寬度的部分。這樣做可能會(huì)是一些內(nèi)容突然截?cái)啵浑[藏了,很對(duì)不起觀眾。
通過(guò)max-width屬性限制文章插圖最大寬度的話(huà),需要考慮各瀏覽器的兼容性。IE6是不支持這個(gè)屬性的,在我印象中,一些瀏覽器雖然支持這個(gè)屬性,但圖片不是等比縮放的(好像是Safari和Opera,記不清了),這樣做的話(huà)對(duì)這些瀏覽器的用戶(hù)很不公平。
因此,我最終選擇的是通過(guò)JavaScript動(dòng)態(tài)改變圖片尺寸。這種方法對(duì)各種瀏覽器兼容性良好(現(xiàn)在應(yīng)該很少人會(huì)禁用JavaScript吧?),如果換主題的話(huà),也可以靈活地改變文章插圖的最大尺寸。
方案有兩個(gè),由于我使用的主題是加載了jQuery庫(kù)的,因此可以用以下代碼實(shí)現(xiàn):
以下為引用的內(nèi)容:
$(document).ready(function() { $('.post img').each(function() { var maxWidth = 100; // 圖片最大寬度 var maxHeight = 100; // 圖片最大高度 var ratio = 0; // 縮放比例 var width = $(this).width(); // 圖片實(shí)際寬度 var height = $(this).height(); // 圖片實(shí)際高度 // 檢查圖片是否超寬 if(width > maxWidth){ ratio = maxWidth / width; // 計(jì)算縮放比例 $(this).css("width", maxWidth); // 設(shè)定實(shí)際顯示寬度 height = height * ratio; // 計(jì)算等比例縮放后的高度 $(this).css("height", height * ratio); // 設(shè)定等比例縮放后的高度 } // 檢查圖片是否超高 if(height > maxHeight){ ratio = maxHeight / height; // 計(jì)算縮放比例 $(this).css("height", maxHeight); // 設(shè)定實(shí)際顯示高度 width = width * ratio; // 計(jì)算等比例縮放后的高度 $(this).css("width", width * ratio); // 設(shè)定等比例縮放后的高度 }});});

如果不想加載jQuery庫(kù),可以用以下代碼:
以下為引用的內(nèi)容:
function ResizeImage(image, 插圖最大寬度, 插圖最大高度){ if (image.className == "Thumbnail") { w = image.width; h = image.height; if( w == 0 || h == 0 ) { image.width = maxwidth; image.height = maxheight; } else if (w > h) { if (w > maxwidth) image.width = maxwidth; } else { if (h > maxheight) image.height = maxheight; } image.className = "ScaledThumbnail"; }}

采用純JavaScript的話(huà),麻煩點(diǎn),需要手動(dòng)為圖片加上class=”Thumbnail”,但最終效果是一樣的。

該文章在 2010/2/9 10:30:35 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved