我试图在用户滚动页面时进行动画制作。我正在使用window.pageYOffset
。在Safari中,它会在滚动开始时立即生效,但在Chrome中,它只会在触摸结束后检测到滚动。如何在发生滚动时检测滚动,而不是在最后?
window.addEventListener('scroll', function(e){
var distanceY = window.pageYOffset
if (distanceY > 0) {
DO STUFF
}
});
此功能适用于桌面浏览器和移动版Safari,但不适用于移动Chrome。
这是我正在使用的Cocoa: NSApp beginSheet sets the application delegate?,它也存在这个问题 - 在移动版Safari中,当屏幕滚动到第二段时会发生动画,但在Chrome中,它会保持静态直到触摸结束。
答案 0 :(得分:1)
您可以尝试以下代码:
$('window').on('touchmove', function(event) {
event.preventDefault();
var distanceY = window.pageYOffset
if (distanceY > 0) {
// DO STUFF
}
});
由于某些原因,Chrome会在滚动时触发window.resize事件。您可以在link上找到该问题。