jQuery在滚动之前获取滚动位置,以在全屏时使用scrollTop()位置临时禁用滚动

jQuery在滚动之前获取滚动位置,以在全屏时使用scrollTop()位置临时禁用滚动,jquery,Jquery,我有一个动画,全屏运行在我的网站顶部的网站加载。我想在动画运行时(15秒)禁用滚动,但仅当Y滚动位置等于0时,以防止在站点加载#锚时禁用滚动 问题是.scrollTop()在实际滚动之前没有输出滚动位置 $(window).scroll(function() { var height = $(window).scrollTop(); console.log(height); // no output before scroll if(height === 0) {

我有一个动画,全屏运行在我的网站顶部的网站加载。我想在动画运行时(15秒)禁用滚动,但仅当Y滚动位置等于0时,以防止在站点加载#锚时禁用滚动

问题是
.scrollTop()
在实际滚动之前没有输出滚动位置

$(window).scroll(function() {
    var height = $(window).scrollTop();
    console.log(height); // no output before scroll

    if(height  === 0) {
      //$("body").css({"overflow" : "hidden", "height" : "100%"});  //Lock scroll
    }
});


setTimeout(function () {
    $("body").css({"overflow" : "auto", "height" : "auto"}); 
}, 15000);
在实际完成滚动之前,如何检测滚动位置?

获取
$(窗口)。scrollTop()加载文档时。如果文档是在y 0加载的,则将事件侦听器添加到滚动。15秒后,允许滚动并删除事件侦听器

$(文档).ready(函数(){
让scrollHeight=$(window).scrollTop();//获取加载页面的滚动高度
//如果在0处加载,则添加滚动事件侦听器。
如果(滚动高度==0){
$(窗口)。滚动(函数(){
$(“body”).css({“overflow”:“hidden”,“height”:“100%”);//锁定滚动
setTimeout(函数(){
$(“body”).css({“overflow”:“auto”,“height”:“auto”});
$(窗口)。解除绑定(“滚动”);
}, 15000);
});
}
});

我认为这很有帮助:

$(document).ready(function() {
   $(document).mousedown(function(event) {
     if(event.target === $('html')[0] && event.clientX >= document.documentElement.offsetWidth)
       var height = $(window).scrollTop();
       console.log(height); // output before scroll
   })
})

谢谢你的建议。我删除了:
$(窗口).scroll(函数(){}
部分,以便在第一次滚动之前使滚动锁工作!