0
我试图让一个侧栏以较慢的速度滚动,直到达到某个点。当用户达到该设定点时,侧边栏应该停止滚动。这里是我的jQuery代码:如何在条件满足后重新运行事件功能?
$(window).on("scroll", function() {
var sidebar = $('.sidebar');
var stopPoint = $('#stop-point');
var sidebarBottom = sidebar.offset().top + sidebar.height();
var stopPointBottom = stopPoint.offset().top + stopPoint.height() - 30;
if (sidebarBottom > stopPointBottom) {
$('.sidebar').css({'top' : "288px"});
}
else {
$('.sidebar').css({'top' : ($(this).scrollTop()/3)+"px"});
}
});
在ELSE条件是这样的情况下,一切都很好。问题在于IF条件满足时,即使再次向上滚动并再次满足ELSE条件,边栏仍保持在最低点。
如果有人能够帮助我了解我做错了什么,以及是否有更智能的方法来实现,我将不胜感激。
在此先感谢。
Eww,[不要滚动劫持](https://envato.com/blog/scroll-hijacking/) –