【发布时间】:2015-11-17 05:28:33
【问题描述】:
快速免责声明——我知道有类似的问题,但它们没有提供我正在寻找的答案。
我试图在页面加载时完全禁用滚动,但仍然能够在用户尝试滚动时收听。目标是在用户尝试滚动时触发动画功能,一旦动画完成,滚动将重新启用回到正常状态。
我尝试禁用滚动并播放我的动画用户尝试像这样滚动:
function blogHeaderMagic() {
//disable scroll function
disableScroll()
//my animation and on a callback you'll see I call allowScroll function to allow scroll normally once animation completes
TweenMax.to("#post-hero-media-wrapper", 1, {height:54, onComplete: allowScroll });
scrolled = true
}
document.onscroll = function() {
if( scrolled == false){
blogHeaderMagic();
}
}
虽然这很好用,但在 chrome 或 safari 中,效果并不是那么流畅,因为当用户第一次尝试滚动时,滚动已启用,因此他们可以从顶部滚动 100 像素,然后滚动锁定。这就是为什么我首先想禁用滚动并且当用户尝试滚动时(尽管他们将无法)我想检测他们尝试滚动并在该检测时触发我的动画功能。这可能吗?
【问题讨论】:
标签: javascript jquery javascript-events