Javascript 滚动结束行为:平滑滚动

Javascript 滚动结束行为:平滑滚动,javascript,css,Javascript,Css,当平滑滚动(参见示例)结束时,有没有办法获得回调 我能想到的唯一一件事就是观察是否没有scroll事件,但是没有办法将这些事件与锚定点击联系起来-你如何区分它们与用户只是滚动页面本身 html{ 滚动行为:平滑; } 以下是一些文本。单击此按钮可转到页面底部 Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。

当平滑滚动(参见示例)结束时,有没有办法获得回调

我能想到的唯一一件事就是观察是否没有
scroll
事件,但是没有办法将这些事件与锚定点击联系起来-你如何区分它们与用户只是滚动页面本身

html{
滚动行为:平滑;
}

以下是一些文本。单击此按钮可转到页面底部

  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc
  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc
  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc
  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc
  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc
  • Morbi在sem quis dui placerat ornare。佩伦特斯·奥迪奥·尼西,尤伊斯莫·伊恩,法雷特拉·a,尤里西斯·伊恩,迪亚姆。塞德·阿库。克拉斯·康塞奎特
  • 事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi,tincidunt quis,accumsan porttitor,facilisis luctus,metus
  • 乌尔特里斯无尾海豹(Phasellus ultrices nulla quis nibh)。奎斯克莱克托斯。Donec Concertetuer ligula vulputate sem tristique cursus。Nam nulla quam、孕妇非、commodo a、sodales sit amet、nisi
  • 佩伦茨克发酵多洛。阿利奎姆·奎姆·莱克托,便利拍卖人,ultrices ut,秃鹫元素,nunc

这里还有一些文字。单击至页面顶部。

更新:现在您可以检测到按钮单击和滚轮滚动,鼠标单击栏和页面上/下

var btnClick=false;
window.addEventListener(“滚轮”,重置滚动);
window.addEventListener(“鼠标向下”,函数(e){
if(e.offsetX>e.target.clientWidth | | e.offsetY>e.target.clientHeight){
//log(“单击滚动条”);
重置滚动();
}
});
window.addEventListener(“向下键”,函数(e){
var代码=(e.keyCode?e.keyCode:e.which);
如果(代码===33){
//console.log('page up')
重置滚动();
}
如果(代码===34){
//console.log('向下翻页')
重置滚动();
}
如果(代码===35){
//console.log(“结束按键”);
重置滚动();
}
如果(代码===36){
//console.log(“主按键”);
重置滚动();
}
如果(代码===38){
//console.log(“向上箭头按下”);
重置滚动();
}
如果(代码===40){
//console.log(“向下箭头按下”);
重置滚动();
}
});
window.onscroll=函数(事件){
var scrollTop=(document.documentElement&&document.documentElement.scrollTop)| document.body.scrollTop;
var scrollHeight=(document.documentElement&&document.documentElement.scrollHeight)| document.body.scrollHeight;
var scrolledtobotom=(scrollTop+window.innerHeight)>=scrollHeight;
如果(滚动工具栏(&B单击){
log(“页面底部