我有一个自定义滑块。我想做这样的事情。当用户向下滚动时,它应动画化向下滚动到下一张幻灯片,并且在此动画过程中,用户不应滚动。但是我有一个问题。滚动事件被触发多次,在完成一个动画之后,开始第二个动画,依此类推。
这是我的代码示例
$(window).scroll(function(e){
if($scrolling){
e.preventDefault();
e.stopPropagation();
}
})
$(window).on('mousewheel', function(event){
$scrolling = true
$('html, body').animate({scrollTop: 'my position here' }, {done: function(){ $scrolling = false; } }, 1000)
});
我做错了什么?提前致谢!
最佳答案
您可以仅通过mousewheel
事件控制所有内容。
var $scrolling = false;
$(window).on('mousewheel', function(event){
if (!$scrolling){
$scrolling = true;
$('html, body').animate({scrollTop: 'my position here' }, {done: function(){ $scrolling = false; } }, 1000);
}
});
关于javascript - 在滚动事件上对scrollTop进行动画处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20940528/