Javascript 发出「;橡皮筋“;在Chrome中滚动

Javascript 发出「;橡皮筋“;在Chrome中滚动,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,在我的网页上,我有一个元素$('.detailViewHandle'),它根据窗口的滚动位置调整其位置。我遇到的问题是因为弹性滚动(我也看到过称为“橡皮筋”滚动);如果用户的滚动速度非常快,超出了页面的限制,那么元素的位置就会丢失。我试图通过检查以下条件来解释用户何时滚动超过页面限制: $(window).scrollTop() > 0 $(window).scrollTop() + $(window).height() < $(document).height() $(窗口).

在我的网页上,我有一个元素$('.detailViewHandle'),它根据窗口的滚动位置调整其位置。我遇到的问题是因为弹性滚动(我也看到过称为“橡皮筋”滚动);如果用户的滚动速度非常快,超出了页面的限制,那么元素的位置就会丢失。我试图通过检查以下条件来解释用户何时滚动超过页面限制:

$(window).scrollTop() > 0

$(window).scrollTop() + $(window).height() < $(document).height()
$(窗口).scrollTop()>0
$(窗口).scrollTop()+$(窗口).height()<$(文档).height()
以下是完整的代码:

$(window).scroll(function(){
  var offset = 332;
  var scrollTop = $(window).scrollTop();
  var scrollBottom = $(window).scrollTop() + $(window).height();
  if(scrollTop > 0 && scrollBottom < $(document).height()){
      $('.detailViewHandle').css('top', $(window).height()-$(window).scrollTop()-$('.projectOverviewPhoto').height()+$('.detailViewHandle').height()/2-offset);
  }
});
$(窗口)。滚动(函数(){
var偏移=332;
var scrollTop=$(窗口).scrollTop();
var scrollbooth=$(窗口).scrollTop()+$(窗口).height();
如果(scrollTop>0&&scrollBottom<$(文档).height()){
$('.detailViewHandle').css('top',$(窗口).height()-$(窗口).scrollTop()-$('projectOverviewPhoto').height()+$('.detailViewHandle').height()/2-offset);
}
});
有没有办法在OSX上完全禁用Chrome中的弹性滚动?我在Firefox中似乎没有这个问题


我也不能为body和html设置overflow:hidden(我在其他响应中看到过),因为我要求页面的一部分可以看到溢出。

这是一个非常简单的修复。事实证明,滚动有一定的滞后,所以scrollTop可能会从150跳到0。这使我的div在页面上的位置错误。通过设置scrollTop大于等于0时要响应的条件,我就能够解决这个问题

if(scrollTop >= 0 && scrollBottom <= $(document).height()){
if(scrollTop>=0&&scrollBottom