0

我正在尝试使用 javascript 进行一些动态调整大小。作为其中的一部分,我需要报告容器的当前大小。我编写了一个函数来执行此操作(如下),它在 chrome 中效果很好......但是在 Firefox 中,宽度不会被报告。我已经阅读了 offsetWidth 方法,理论上它应该在 Firefox 中工作。

function currentBoxW() {
    return document.getElementById("wrapper").offsetWidth;
}

所有这些报告都是“NaN”。

在实际页面中该功能还有更多内容,但所有附加代码已被注释掉以进行测试......这是执行报告的实际行。

我是否遗漏了什么,或者有没有更聪明的方法来使用 JS 和 DOM 报告宽度?有没有另一种方法来获取 div 的宽度?

谢谢。

4

1 回答 1

1

你可能有两个问题:

  1. 确保您已通过 CSS 明确设置元素(包装器)的宽度
  2. 确保在文档准备好后执行 javascript 代码。 window.onload()或类似的东西,如果你正在使用任何其他 javascript 库

如果您可以改用 jquery,则可以轻松使用

$(document).ready(function(){ 
  function currentBoxW() {
    return $('#wrapper').width();
    or 
    return $('#wrapper').innerWidth(); //depending on the requirement. 
  }

}); 
于 2013-04-10T16:34:58.350 回答