【发布时间】:2017-02-05 19:56:14
【问题描述】:
我创建了一个小脚本,使用 js 将表单垂直居中。但是,它似乎不适用于 window.onresize,我不明白为什么。顺便说一句,它在 window.onload 上完美运行,如果我要求,window.onresize 会在调整大小时发出警报。这是我的代码:
var resetHeight = function(){
var loginForm = document.querySelector('.login-form');
var windowHeight = window.innerHeight;
var topNavbarHeight = document.querySelector('.top-navbar').clientHeight;
var loginFormHeight = loginForm.clientHeight;
var footerHeight = document.querySelector('footer').clientHeight;
var totalHeights = loginFormHeight + topNavbarHeight + footerHeight + 90;
var halfHeight = (windowHeight-totalHeights) / 2;
loginForm.style.paddingTop = halfHeight + "px";
loginForm.style.paddingBottom = halfHeight+ "px";
};
window.onload = resetHeight;
window.onresize = resetHeight;
【问题讨论】:
-
您的代码应该可以工作,似乎没有任何问题,请确保您在结束正文标记
</body>之前添加脚本并尝试将其包装在立即调用的函数中。像这样jsbin.com/rexuvel/edit?html,js,output
标签: javascript onresize