Jquery 当高度设置为100%时,滚动位置返回零

Jquery 当高度设置为100%时,滚动位置返回零,jquery,Jquery,我把html、body和.wrapper设置为height:100%。。。这适用于各种全屏功能。因此,在尝试获取视口位置时会产生连锁反应,因为它始终返回为零 当我删除100%高度时,它会返回预期结果,但显然这会破坏其他功能 我怎样才能避开这件事?有没有办法保持100%的高度 function get(){ $('.position').html( $('html, body, .wrapper').offset().top - $(window).scrollTop() ); }

我把
html
body
.wrapper
设置为
height:100%。。。这适用于各种全屏功能。因此,在尝试获取视口位置时会产生连锁反应,因为它始终返回为零

当我删除100%高度时,它会返回预期结果,但显然这会破坏其他功能

我怎样才能避开这件事?有没有办法保持100%的高度

function get(){
  $('.position').html(
    $('html, body, .wrapper').offset().top - $(window).scrollTop()
  );
}

get();
$(window).scroll(get);
Html


由于
html
body
.wrapper
是100%高度,因此
窗口的滚动顶部始终为0


尽管您可以在
.wrapper
组件上使用scrollTop。

因为
html
主体和
是100%高度,而
窗口的scrollTop始终是0


尽管您可以在
.wrapper
组件上使用scrollTop。

您能提供一个示例吗?如果滚动发生在.wrapper而不是窗口中,则可以使用的scrollTop属性。wrapper@MisterJ我现在就把问题填出来。。。当我只使用
.wrapper
时,它仍然返回零,当我取下
高度:100%
时,它返回预期的数字。真的不清楚您想要实现什么。创建一个演示,概述您的issue@Rob我没有说对.offset().top使用包装器,而是对scrollTop本身使用包装器。虽然正如charlietfl所说,但现在已编辑,没有任何溢出,也找不到滚动位置。因此,我假设您的包装器溢出,因此您应该能够使用$('.wrapper').scrollTop()获得其内部滚动位置?我同意……由于100%的高度,滚动的可能不是窗口。创建一个概述您的问题的演示可以提供一个示例吗?如果滚动发生在.wrapper而不是窗口中,则可以使用的scrollTop属性。wrapper@MisterJ我现在就把问题填出来。。。当我只使用
.wrapper
时,它仍然返回零,当我取下
高度:100%
时,它返回预期的数字。真的不清楚您想要实现什么。创建一个演示,概述您的issue@Rob我没有说对.offset().top使用包装器,而是对scrollTop本身使用包装器。虽然正如charlietfl所说,但现在已编辑,没有任何溢出,也找不到滚动位置。因此,我假设您的包装器溢出,因此您应该能够使用$('.wrapper').scrollTop()获得其内部滚动位置?我同意……由于100%的高度,滚动的可能不是窗口。创建一个概述您的问题的演示
<html>
    <body>
        <div class="wrapper">
            <div class="position"></div>
        </div>
    </body>
</html>
html,
body,
.wrapper {
    height:100%;
}