javascript 指定區(qū)域內(nèi)圖片等比例縮放實(shí)現(xiàn)代碼 腳本之家整合版 原創(chuàng)
原創(chuàng) 更新時間:2009年10月24日 15:23:56 原創(chuàng) 作者:
javascript 區(qū)域內(nèi) 圖片等比例縮放實(shí)現(xiàn)代碼 腳本之家整合版,兼容ie跟firefox。
腳本之家整合篇,歡迎轉(zhuǎn)載。
function controlImg(ele,w,h){
var c=ele.getElementsByTagName("img");
for(var i=0;i<c.length;i++){
var w0=c[i].clientWidth,h0=c[i].clientHeight;
var t1=w0/w,t2=h0/h;
if(t1>1||t2>1){
c[i].width=Math.floor(w0/(t1>t2?t1:t2));
c[i].height=Math.floor(h0/(t1>t2?t1:t2));
if(document.all){
c[i].outerHTML='<a href="'+c[i].src+'" target="_blank" title="在新窗口打開圖片">'+c[i].outerHTML+'</a>'
}
else{
c[i].title="在新窗口打開圖片";
c[i].onclick=function(e){window.open(this.src)}
}
}
}
}
window.onload=function(){
controlImg(document.getElementById("content"),670,980);
}
以前就需要這樣的代碼,但因?yàn)榫唧w的思路不是和很清楚,今天在blueidea看到的文章,特整理下。
指定區(qū)域內(nèi)的,一般用于控制內(nèi)容部分的圖片,可通過controlImg(document.getElementById("content"),670,980); 中的content,下面是測試代碼。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
下面是用css expression實(shí)現(xiàn)的方法會增加客戶端的負(fù)荷,建議用js的
假設(shè)有一個id為test的div,如何控制其內(nèi)的圖片不會撐呢?
如下定義CSS即可:
#test IMG{
border:0;
margin:0;
padding:0;
max-width:600px;
width:expression(this.width>600?"600px":this.width);
max-height:450px;
height:expression(this.height>450?"450px":this.height);
}
如此定義后,其中的圖片寬就不會超過600,高不超過450,并按原比例值縮??!
復(fù)制代碼 代碼如下:
function controlImg(ele,w,h){
var c=ele.getElementsByTagName("img");
for(var i=0;i<c.length;i++){
var w0=c[i].clientWidth,h0=c[i].clientHeight;
var t1=w0/w,t2=h0/h;
if(t1>1||t2>1){
c[i].width=Math.floor(w0/(t1>t2?t1:t2));
c[i].height=Math.floor(h0/(t1>t2?t1:t2));
if(document.all){
c[i].outerHTML='<a href="'+c[i].src+'" target="_blank" title="在新窗口打開圖片">'+c[i].outerHTML+'</a>'
}
else{
c[i].title="在新窗口打開圖片";
c[i].onclick=function(e){window.open(this.src)}
}
}
}
}
window.onload=function(){
controlImg(document.getElementById("content"),670,980);
}
以前就需要這樣的代碼,但因?yàn)榫唧w的思路不是和很清楚,今天在blueidea看到的文章,特整理下。
指定區(qū)域內(nèi)的,一般用于控制內(nèi)容部分的圖片,可通過controlImg(document.getElementById("content"),670,980); 中的content,下面是測試代碼。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
下面是用css expression實(shí)現(xiàn)的方法會增加客戶端的負(fù)荷,建議用js的
假設(shè)有一個id為test的div,如何控制其內(nèi)的圖片不會撐呢?
如下定義CSS即可:
復(fù)制代碼 代碼如下:
#test IMG{
border:0;
margin:0;
padding:0;
max-width:600px;
width:expression(this.width>600?"600px":this.width);
max-height:450px;
height:expression(this.height>450?"450px":this.height);
}
如此定義后,其中的圖片寬就不會超過600,高不超過450,并按原比例值縮??!
相關(guān)文章
javascript橢圓旋轉(zhuǎn)相冊實(shí)現(xiàn)代碼
支持自動和手動兩種模式:自動模式下自動旋轉(zhuǎn)展示,手動模式下通過鼠標(biāo)選擇當(dāng)前圖片,或通過提供的接口選擇上一張/下一張圖片2012-01-01