|
原來(lái)我用的是從pjblog上的
復(fù)制代碼 代碼如下:
//查找網(wǎng)頁(yè)內(nèi)寬度太大的圖片進(jìn)行縮放以及PNG糾正
function ReImgSize(){
for (i=0;i<document.images.length;i++)
{
if (document.all){
if (document.images[i].width>550)
{
document.images[i].width="550" //沒(méi)有高,明顯會(huì)讓圖片變形
try{
document.images[i].outerHTML='<a href="'+document.images[i].src+'" target="_blank" title="在新窗口打開(kāi)圖片">'+document.images[i].outerHTML+'</a>'
}catch(e){}
}
}
else{
if (document.images[i].width>400) {
//寬和高都沒(méi)有,更是讓firefox下圖片撐大圖片
document.images[i].title="在新窗口打開(kāi)圖片"
document.images[i].style.cursor="pointer"
document.images[i].onclick=function(e){window.open(this.src)}
}
}
}
}
非常好用的代碼可不足的地方就是firefox下大圖會(huì)變形,而且無(wú)法控制區(qū)域的圖片,如果想要的大圖,也被變成小圖了
我自己寫了個(gè),
復(fù)制代碼 代碼如下:
function $(objectId) {
if(document.getElementById && document.getElementById(objectId)) {
// W3C DOM
return document.getElementById(objectId);
}
else if (document.all && document.all(objectId)) {
// MSIE 4 DOM
return document.all(objectId);
}
else if (document.layers && document.layers[objectId]) {
// NN 4 DOM.. note: this won't find nested layers
return document.layers[objectId];
}
else {
return false;
}
}
function dxy_ReImgSize(){
var box=$("dxy_content");
var imgall=box.getElementsByTagName("img")
for (i=0;i<imgall.length;i++)
{
if (imgall[i].width>500)
{
var oWidth=imgall[i].width;
var oHeight=imgall[i].height;
imgall[i].width="500";
imgall[i].height=oHeight*500/oWidth;
}
}
}
可又發(fā)現(xiàn),如果低瀏覽器,不支持getElementsByTagName,就沒(méi)的玩了,好處是可以控制區(qū)域.
最后沒(méi)辦法了,就先弄個(gè),暫時(shí)的解決辦法
復(fù)制代碼 代碼如下:
function ReImgSize(){
for (i=0;i<document.images.length;i++)
{
if (document.all){
if (document.images[i].width>500)
{
var oWidth=document.images[i].width;
var oHeight=document.images[i].height;
document.images[i].width="500";
document.images[i].height=oHeight*500/oWidth;
document.images[i].outerHTML='<a href="'+document.images[i].src+'" target="_blank" title="在新窗口打開(kāi)圖片">'+document.images[i].outerHTML+'</a>'
}
}
else{
if (document.images[i].width>500) {
var oWidth=document.images[i].width;
var oHeight=document.images[i].height;
document.images[i].width="500";
document.images[i].height=oHeight*500/oWidth;
document.images[i].title="在新窗口打開(kāi)圖片";
document.images[i].style.cursor="pointer"
document.images[i].onclick=function(e){window.open(this.src)}
}
}
}
}
注意我增加了
復(fù)制代碼 代碼如下:
var oWidth=document.images[i].width;
var oHeight=document.images[i].height;
document.images[i].width="500";
document.images[i].height=oHeight*500/oWidth;
如果大家發(fā)現(xiàn)了什么更好的方法,貼出來(lái)啊
www.jb51.NET 腳本之家 原創(chuàng),轉(zhuǎn)載請(qǐng)寫明出處
JavaScript技術(shù):js與自動(dòng)伸縮圖片 自動(dòng)縮小圖片的多瀏覽器兼容的方法總結(jié) 原創(chuàng),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。