gpt4 book ai didi

jQuery offset() 仅在 Safari 中返回非常不正确的值

转载 作者:行者123 更新时间:2023-11-28 07:30:06 25 4
gpt4 key购买 nike

我正在尝试获取我页面上一组元素的最高偏移值。我遍历每个元素并记录其最高偏移值,如下所示:

$(elements).each(function() {
var element = $(this);
var offset = Math.floor($(element).offset().top);

console.log(offset);
}

在 Firefox 中,这正确地给出了这些值:

458, 1023, 1625, 2274, 2746, 3072, 3398, 3823, 4388, 4930

但是在 Safari 中,我得到:

460, 718, 976, 1318, 1799, 1918, 2036, 2254, 2512, 2746

报告的第一个元素的偏移量在两个浏览器之间基本相同,但 Safari 与那里完全不同。 Safari 的其余值完全不合逻辑:例如,在 800px 高窗口中,它报告第二个元素的顶部偏移为 718px,即使它实际上完全在屏幕外。

如果我手动测量每个元素的顶部出现在 Safari 中的位置,我得到的值与 Firefox 报告的值相同。所以页面实际上在两种浏览器中呈现相同,但 Safari 只是报告完全不同的 offset() 值。

(我也尝试过使用 position() 而不是 offset(),我看到了同样的差异:第一个值在两个浏览器中都是正确的,并且那么 Safari 的值就完全关闭了)。

不幸的是,我无法分享我的实际代码,所以如果没有,是什么导致 Safari 单独关闭这么多?

最佳答案

我发现如果我在元素上设置一个 min-height,等于元素已经呈现的高度,那么 Safari 会报告正确的 offset() 值(value)观。

关于jQuery offset() 仅在 Safari 中返回非常不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31575133/

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