我有一个可滚动的元素。我还有一个滚动到特定位置的功能。当scrollTo完成时,我想调用一个函数。
Plunkr example
var x = document.querySelector('.container');
$scope.scrollTo = function() {
x.scrollTo({
top: 300 ,
behavior: 'smooth'
});
};
// do something when scrollTo is finished
最佳答案
通过检查要滚动到的元素的位置,并将其与容器的当前滚动位置进行比较,您可以看到滚动 Action 何时完成。
function isScrollToFinished() {
const checkIfScrollToIsFinished = setInterval(() => {
if (positionOfItem === scrollContainer.scrollTop) {
// do something
clearInterval(checkIfScrollToIsFinished);
}
}, 25);
}
间隔检查滚动容器的位置是否等于要滚动到的元素的位置。然后执行一个操作并清除间隔。
关于javascript - 检查scrollTo以完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51927295/