【问题标题】:Javascript function to find total page height用于查找总页面高度的 Javascript 函数
【发布时间】:2012-10-15 20:29:24
【问题描述】:

我正在使用一个简单的 javascript 函数,该函数将检测动态网页的总高度并将其应用于作为页面背景的 div 的高度。有可能实施吗? 该div被称为bg ... 有任何想法吗?提前致谢

【问题讨论】:

  • 啊,是的,他想要整个高度,而不仅仅是视口。好电话@Dampsquid
  • 谢谢你,但不确定它是否与 ie8 兼容...
  • 这样做 似乎不起作用...我的正文是这样设置的... 有什么想法吗?
  • 谢谢,我在这里找到了解决方案:stackoverflow.com/questions/13099015/…

标签: javascript dynamic background height


【解决方案1】:
var height = screen.height;
var width = screen.width;
var resolution = width+"x"+height;
alert(resolution);

它给出了屏幕的分辨率。我知道你想要页面的高度和宽度,但它会在以后的 Web 开发中帮助你。我将它用作我的网络最重要的部分!

【讨论】:

  • window 没有 height 方法。
【解决方案2】:

这是我用来计算 iFrame 中内容的高度以便正确调整它的。

var body = document.body,
html = document.documentElement,
height = 0;

height = body.offsetHeight;
if(height === 0){
     height = html.offsetHeight;
}

首先检查body的原因是html的高度实际上是iFrame的高度,可能比内容本身还要大。但是,在某些情况下,例如当body 没有高度时,它会回退到使用html 的高度。

对于您的情况,您可能想尝试类似的方案。我不知道为什么你必须使用div 来设置背景,所以我真的不能提出更好的选择(如果有的话)。


基于以下评论的解决方案:

您可以执行以下操作。在主容器内有一个 div,绝对位置、宽度/高度 100% 和 z-index -1。然后,无论包含增长或缩小多大,它都将始终是正确的大小。使用这种方法,您必须确保容器始终具有大小。这是一个纯CSS解决方案,可能比使用Javascript来调整更简单。

【讨论】:

  • 因为不是全宽背景。该页面有一个使用超大尺寸的整页背景图像,使用具有固定宽度的 svg 将此中心背景放置在其上...
【解决方案3】:

我正在使用以下代码来做到这一点:

var getBodyHeight = function () {
    var d = document,
        bd = d.body,
        dd = d.documentElement,
        max = Math.max(
            bd.scrollHeight,
            bd.offsetHeight,
            bd.clientHeight,
            dd.offsetHeight,
            dd.scrollHeight,
            dd.clientHeight
        );

    return max;

};

【讨论】:

    【解决方案4】:

    试试:

    var height = body.offsetHeight ? body.offsetHeight : html.offsetHeight;
    document.getElementById ('divID').style.height = height + 'px';
    

    这里有一个有用的文档:

    http://www.quirksmode.org/dom/w3c_cssom.html

    【讨论】:

    • 看起来这应该可行,但我在实现它时遇到了麻烦......我把它放在头上,身体“onload......”后面跟着我的div“bg” ...这是正确的顺序吗?
    • '
      ' 这不起作用。
    • 你得到了什么结果?代码“不起作用”的方法有很多。你能把网址贴在我们可以看到的地方吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签