我创建了滚动功能来向下滚动高度为100vh的元素。 因此,仅当用户向下滚动时函数才向下滚动...但是动画完成后,我什至无法向下滚动或向上滚动...
我错过了什么?
var position = $(window).scrollTop();
$(window).scroll(function() {
var div_hei = $("#scroll").height();
var div_hei = div_hei * 0.8;
var page_scroll_top = $(window).scrollTop();
if (page_scroll_top < div_hei) {
if (page_scroll_top > position) {
$('html, body').animate({
scrollTop: $("#scroll2").offset().top
}, 1000);
}
}
position = page_scroll_top;
})
div {
height: 100vh;
width: 200px;
background-color: red;
}
#scroll2 {
background-color: blue
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="scroll">Div that schould be scrolled</div>
<div id="scroll2">Div next to scrolled element</div>
如代码所示,当我们向下滚动时,Page被阻止滚动... 当我们刷新页面时,我们仍然可以跳至页面顶部,并向下滚动以重新设置动画。然后页面再次被阻止。
我想念什么?