让createElement创建的div层,始终在屏幕的中央,位置怎么控制啊!

gzw323 2006-09-23 12:03:11


function CreateWaitElement()
{
var elem = document.getElementById('__AjaxCall_Wait');
if (!elem)
{
elem = document.createElement("div");
elem.id = '__AjaxCall_Wait';
elem.style.position = 'absolute';
//
elem.style.height = 25;
elem.style.width = 120;
elem.border = "1px";
elem.style.fontSize = "18px";
//elem.style.align="center";
elem.style.borderColor = "#990000";
elem.style.borderWidth = "0";
elem.style.borderStyle="solid";
elem.style.backgroundColor = "#990000";
elem.style.color = "#FFFFFF";
elem.innerHTML = "Load Date...";
alert(screen.availWidth-elem.style.pixelWidth);
alert(screen.availHeight-elem.style.pixelHeight);

//alert(elem.style.pixelLeft=(screen.availWidth-elem.style.pixelWidth)/2);
//alert(elem.style.pixelTop=(screen.availHeight-elem.style.pixelHeight)/2);
elem.style.visibility = 'hidden';
document.body.insertBefore(elem, document.body.firstChild);
}
waitElement = elem;
}


===============================

下面的2行代码可以正确获得当前窗口的高度和宽度
alert(screen.availWidth-elem.style.pixelWidth);
alert(screen.availHeight-elem.style.pixelHeight);
--------------------------------
下面的代码用来设置层的左边和上边的高度,把高度和宽度除2,使div层始终在窗口的中央
elem.style.pixelLeft=(screen.availWidth-elem.style.pixelWidth)/2;
elem.style.pixelTop=(screen.availHeight-elem.style.pixelHeight)/2;

可实际执行结果是:
层横向始终在中央,但是top高度确始终在窗口的顶层,



=================================

想问一下高手们,层的那个属性是控制,层位置的!~

我已经整了一周了




...全文
231 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzw323 2006-09-24
  • 打赏
  • 举报
回复
这是MagicAjax控件里面的一个js文件,我也测了一下,在单独做成文件,测试可以,但是放到MagicAjax文件里面执行的时候就是不能居中!

Student02370236 2006-09-23
  • 打赏
  • 举报
回复
DIV的STYLE属性中的LEFT和TOP就是控制层的位置的..
pwl2014 2006-09-23
  • 打赏
  • 举报
回复
function CreateWaitElement()
{
var elem = document.getElementById("__AjaxCall_Wait");
if (!elem)
{
elem = document.createElement("div");
elem.id = '__AjaxCall_Wait';
elem.style.position = 'absolute';
//
elem.style.height = 25;
elem.style.width = 120;
elem.border = "1px";
elem.style.fontSize = "18px";
//elem.style.align="center";
elem.style.borderColor = "#990000";
elem.style.borderWidth = "0";
elem.style.borderStyle="solid";
elem.style.backgroundColor = "#990000";
elem.style.color = "#FFFFFF";
elem.innerHTML = "Load Date...";
alert(screen.availWidth-elem.style.pixelWidth);
alert(screen.availHeight-elem.style.pixelHeight);
elem.style.pixelLeft=(screen.availWidth-elem.style.pixelWidth)/2;
elem.style.pixelTop=(screen.availHeight-elem.style.pixelHeight)/2;
//alert(elem.style.pixelLeft=(screen.availWidth-elem.style.pixelWidth)/2);
//alert(elem.style.pixelTop=(screen.availHeight-elem.style.pixelHeight)/2);
//elem.style.visibility = 'hidden';
document.body.insertBefore(elem, document.body.firstChild);
}
waitElement = elem;
}
试了一下,没出现你说的问题。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧