代码之家  ›  专栏  ›  技术社区  ›  achinda99

使用javascript调整和重新定位DIV

  •  2
  • achinda99  · 技术社区  · 15 年前

    我正在尝试对显示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;
    }
    

    有没有更好的方法来处理我想做的事情?

    2 回复  |  直到 11 年前
        1
  •  2
  •   Simon Lieschke    15 年前

    created a basic test page 根据您提供的代码,无法重现问题。这表明你的页面中还有其他事情导致了你所看到的行为。

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

        2
  •  0
  •   user2208817    11 年前

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

    使用 偏移宽度 第八部分 宽度和高度。