搜索和搜索后,我发现自己的方法做到了,而无需使用外部JS源代码,并且没有授权问题。定位绝对,并将宽度和高度设置为100%,玩一个div的ocupacy并在那里。我需要创建额外的表格才能够将图像居中,而不是在div上工作。不要忘记z-index将div和table放在所有其他元素之上。欢呼声......
function enlargeimage(x)
{
var a = document.getElementById('_enlargeimg');
a.style.height = x + '%';
a.style.width = x + '%';
x++;
if (x < 90)
{ setTimeout("enlargeimage(\"" + x + "\")", 5);}
}
function reduceimage(x)
{
var a = document.getElementById('_enlargeimg');
a.style.height = x + '%';
a.style.width = x + '%';
x--;
if (x > 0)
{ setTimeout("reduceimage(\"" + x + "\")", 5);}
else
{
b = document.getElementById('_enlargediv');
c = document.getElementById('_enlargetable');
b.parentNode.removeChild(b);
c.parentNode.removeChild(c);
document.body.style.overflow = 'auto';
}
}
function createelements(imgfile)
{
var divbackground = document.createElement('div');
divbackground.setAttribute('id', '_enlargediv');
divbackground.style.width = '100%';
divbackground.style.height = '100%';
divbackground.style.position= 'absolute';
divbackground.style.background= '#000';
divbackground.style.left= '0';
divbackground.style.top= '0';
divbackground.style.opacity= 0.7;
divbackground.style.zIndex= '1';
document.body.appendChild(divbackground);
var tblbackground = document.createElement('table');
tblbackground.setAttribute('id', '_enlargetable')
tblbackground.style.width = '100%';
tblbackground.style.height = '100%';
tblbackground.style.position= 'absolute';
tblbackground.style.left= '0';
tblbackground.style.top= '0';
tblbackground.style.zIndex= '2';
tblbackground.style.textAlign = 'center';
tblbackground.style.verticalAlign = 'middle';
tblbackground.setAttribute('onClick', 'reduceimage(90)');
var tr = tblbackground.insertRow();
var td = tr.insertCell();
var nimg = document.createElement('img');
nimg.setAttribute('src', imgfile);
nimg.setAttribute('id', '_enlargeimg');
nimg.style.width='0px';
nimg.style.height='0px'
nimg.style.borderRadius = '5px';
td.appendChild(nimg);
document.body.appendChild(tblbackground);
document.body.style.overflow = 'hidden';
enlargeimage(0);
}
谢谢,我可以使用.dialog或jQuery的类似小部件来放大图像吗? – Mosaic
答案几乎总是“是”,但我的问题没有背景。你为什么还没有显示任何代码? –