gpt4 book ai didi

javascript - 如何在页面加载事件之后立即获得页面的 scrollTop?

转载 作者:行者123 更新时间:2023-11-29 22:41:23 25 4
gpt4 key购买 nike

我知道如何获取页面的 scrollTop,我使用这个简单的 JS 函数(复制代码):

function GetScrolledTop() 
{
//I never work in IE quirkmode, I always use DOCTYPE as 1st line, so I don't need to test for document.body.scrollTop
return self['pageYOffset'] || document.documentElement.scrollTop;
}

这行得通,我的问题如下:我试图将它添加到页面加载事件中

<body onload="alert(GetScrolledTop());">

在页面加载时我得到零(这是有道理的),但问题是我得到零即使我滚动页面然后在不触摸滚动条的情况下重新加载它也是如此。

浏览器好像是这样的:

  1. 加载页面
  2. 调用我的 GetScrolledTop()(显然显示为零)
  3. 然后将页面滚动到之前的位置。

你知道如何在第 3 步之后获取 scolledTop 吗?我的意思是如何获得 scrolledTop 在浏览器滚动页面之后?(也许不使用定时器)

最佳答案

如果不使用计时器,可能不行。但是您可以使用延迟为 0 毫秒的计时器,它会在线程空闲时执行该函数,同时看起来仍然是即时的:

<body onload="window.setTimeout(function () { alert(GetScrolledTop()); } , 0);">

编辑 - 认为可能还值得一提的是 most browsers支持onscroll事件,应在窗口滚动后触发。

关于javascript - 如何在页面加载事件之后立即获得页面的 scrollTop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2540279/

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