2

我正在尝试对显示 ajax 加载图像的 div 元素进行简单的调整大小和重新定位。它加载的内容可以改变大小,所以我希望将 div 元素调整为父元素的大小,在这种情况下,它是一个 ID 为“thEngineCategories”的表格维度。

function resize_divProgress() {
    var control = document.getElementById('thEngineCategories');
    var div = document.getElementById('divProgress');

    div.style.left = control.offsetLeft + 'px';
    div.style.top = control.offsetTop + 'px';
    div.style.width = control.offsetWidth + 'px';
    div.style.height = control.offsetHeight + 'px';
}

以下是我拥有的 javascript,它错误

div.style.left = control.offsetLeft + 'px';

说“div.style 未定义”。这里有什么问题?

html中的div如下:

<div class="overlay" id="divProgress">

js函数调用如下:

<th id="thEngineCategories" onmouseover="resize_divProgress()" >

CSS是:

.overlay
{
    border: black 1px solid;
    padding: 5px;
    z-index: 100;
    width: 300px;
    position: absolute;
    background-color: #fff;
    -moz-opacity: 0.75;
    opacity: 0.75;
    filter: alpha(opacity=75);
    font-family: Tahoma;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
}

有没有更好的方法来处理我正在尝试做的事情?

4

2 回答 2

2

我根据您提供的代码创建了一个基本测试页面,但无法重现该问题。这表明您的页面中还有其他原因导致您看到的行为。

你能把你的页面缩减到一个最小的例子来展示 JavaScript 错误吗?您会发现执行此过程通常会揭示错误的原因 - 您将删除某些内容并且它将开始工作,这表明该删除的代码部分中的某些内容是问题的根源:)

于 2009-03-18T05:48:01.897 回答
0

div.style.width 不是访问 div 宽度的有效属性。

分别使用div.offsetWidthdiv.offsetHeight作为宽度和高度。

于 2013-03-25T18:58:30.120 回答