gpt4 book ai didi

javascript - offsetHeight !== scrollHeight onResize,有时

转载 作者:行者123 更新时间:2023-12-03 08:47:49 25 4
gpt4 key购买 nike

我正在检查并比较 body.offsetHeightbody.scrollHeight

放大窗口大小总是会抛出相同的值,但缩小窗口有时会导致“跳跃”值,所以我的 Div 上会闪烁。在 Chrome 45/和 Firefox 上测试。

var body = document.body,
html = document.documentElement,
offset,
scroll;

$(window).resize(function() {
offset = Math.max(body.offsetHeight, html.offsetHeight);
scroll = Math.max(body.scrollHeight, html.scrollHeight);

if (offset === scroll) {
$(".myDiv").css("height", (offset - 155) + "px");
} else {
$(".myDiv").css("height", "");
}
}).trigger("resize");

那么这里发生了什么?有人可以向我解释一下我做错了什么吗?

编辑:说明我的问题的在线演示: http://jsfiddle.net/magic77/41bq62xs/

或者 http://20thcenturyinterior.com/test/test.html

最佳答案

这看起来像是一个简单的舍入问题。 offset 向下取整,scroll 向上取整,因此相差 1。您可以简单地解决这个问题:

if (Math.abs(offset - scroll) <= 1) {
$(".myDiv").css("height", (offset - 155) + "px");
} else {
$(".myDiv").css("height", "");
}

这是一种解决方法,在任何情况下正确的方法都是使用 CSS。您可以针对您的具体问题提出另一个问题,标记为 CSS。

关于javascript - offsetHeight !== scrollHeight onResize,有时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com