javascript 指定區(qū)域內(nèi)圖片等比例縮放實(shí)現(xiàn)代碼 腳本之家整合版 原創(chuàng)
原創(chuàng) 更新時(shí)間: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,下面是測(cè)試代碼。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
下面是用css expression實(shí)現(xiàn)的方法會(huì)增加客戶端的負(fù)荷,建議用js的
假設(shè)有一個(gè)id為test的div,如何控制其內(nèi)的圖片不會(huì)撐呢?
如下定義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);
}
如此定義后,其中的圖片寬就不會(huì)超過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,下面是測(cè)試代碼。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
下面是用css expression實(shí)現(xiàn)的方法會(huì)增加客戶端的負(fù)荷,建議用js的
假設(shè)有一個(gè)id為test的div,如何控制其內(nèi)的圖片不會(huì)撐呢?
如下定義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);
}
如此定義后,其中的圖片寬就不會(huì)超過600,高不超過450,并按原比例值縮??!
相關(guān)文章
鼠標(biāo)移動(dòng)到一張圖片時(shí)變?yōu)榱硪粡垐D片
鼠標(biāo)移動(dòng)到一張圖片時(shí)變?yōu)榱硪粡垐D片...2006-12-12js 實(shí)用的無間斷滾動(dòng)圖效果(良好兼容性)
網(wǎng)上有不少圖片滾動(dòng)的效果代碼,但大多兼容性不好,或者結(jié)構(gòu)混亂,xhtml,css,js 均沒有得到良好的優(yōu)化。2010-06-06javascript橢圓旋轉(zhuǎn)相冊(cè)實(shí)現(xiàn)代碼
支持自動(dòng)和手動(dòng)兩種模式:自動(dòng)模式下自動(dòng)旋轉(zhuǎn)展示,手動(dòng)模式下通過鼠標(biāo)選擇當(dāng)前圖片,或通過提供的接口選擇上一張/下一張圖片2012-01-01