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