javascript - 使用 Javascript 将页脚保持在底部

标签 javascript sticky-footer

目前我正在尝试使用 Javascript 将页脚保持在底部。这是结果:

document.getElementsByTagName('body').onload = function() {KeepFoot()};
var element = document.getElementById('container');
var height = element.offsetHeight;

function KeepFoot() {
    if (height < screen.height) {
        document.getElementById("footer").style.position = "fixed";
        document.getElementById("footer").style.bottom = "0";
        document.getElementById("footer").style.left = "0";
        document.getElementById("footer").style.right = "0";
    }
}

我的想法是获取div容器的高度并将其与pc分辨率的高度进行比较。如果div容器的高度小于PC分辨率的高度,设置为div footer position: fixed;

但脚本中存在问题,因为它不起作用。

另一个问题,我创建的脚本是否适合将页脚保留在底部?

HTML:

<html>
    <head>
        ...
    </head>
    <body>
        <div id="container">
            <div id="header"></div>
            <div id="content"></div>
            <div id="footer"></div>
        </div>
    </body>
</html>

最佳答案

该函数未在加载时调用。您可以像这样将函数 KeepFoot 直接附加到 body 标记,而不是像这样调用:

 document.getElementsByTagName('body').onload = function() {KeepFoot()};

或者使用我下面的代码:

 (function() {
    var offsetHeight = document.getElementById('container').offsetHeight;   
    var screenHeight = screen.height;

if(offsetHeight < screenHeight){
    document.getElementById("footer").style.position = "fixed";
    document.getElementById("footer").style.bottom = "0";
    document.getElementById("footer").style.left = "0";
}
})();

关于javascript - 使用 Javascript 将页脚保持在底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276950/

相关文章:

javascript - new Date() 返回无效日期,除非 * 为 1?

css - 粘性页脚有底部边距

html - 如果涉及 <h> 元素,则负底边距 "stickey footer"具有烦人的垂直滚动条

css - 带有固定页眉的条件粘性 CSS 页脚

javascript - jstree - AJAX 完成后做一些事情

javascript - 使用 angularjs $resource 从 Web api 调用自定义方法

javascript - 一些 jQuery/javascript 帮助。将项目添加到 optgroup

javascript - jqGrid - 'in' op 不适用于过滤器

css - 如何让页脚贴在页面底部?

css - 如何让页脚停留在网页底部?