JS:防止用户滚动的默认?或者强制 GSAP 在用户上方滚动
JS: preventDefault for User Scrolling? Or force GSAP scrolling over user?
我正在处理幻灯片区域。 我想让它水平滚动将触发一个动画,将可滚动区域移动到下一个"幻灯片"。
一切都在工作,但前提是我滚动一点点。 如果我滚动更多,GSAP 滚动动画会静默失败。
我能想到的有两种方法可以解决这个问题:
1> 第一个是取消滚动行为,如下所示:
$viewing_area.scroll( function(event) {
if(animationIsInProgress) {
event.preventDefault();
}
}
但这种方式也可能阻止GSAP滚动。 无法区分滚动是由于GSAP还是我所知道的用户造成的。
2> 第二种方法是让 GSAP 强制它滚动用户正在执行的任何操作:
TweenLite.to($viewing_area, time, {
scrollTo: { x: slide_stops[nextTarget] },
ease: Power4.easeInOut,
onComplete: function() {
console.log('scrolling completed');
animationIsInProgress = false;
}
//Some option for forcing the behavior over user scrolling
});
这些事情是可以实现的,还是滚动的本质是不可阻挡的?
最终,GSAP滚动到插件对此进行了设置:
http://greensock.com/docs/#/HTML5/GSAP/Plugins/ScrollToPlugin/
它被称为自动杀伤,如果设置为 false,用户滚动不会中断补间。
TweenLite.to(myDiv, 2, {scrollTo:{y:400, autoKill:false}, ease:Power2.easeOut});
相关文章:
- javascript跨浏览器确定用户是否滚动到页面底部
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- jQuery:如何检测用户何时再次滚动到顶部
- 当用户已经向下滚动页面时,我如何导航到锚标记
- 在用户用动画滚动175像素后缩小固定的Div
- 如何发现用户是否使用jQuery滚动到HTML容器的末尾
- 如何检测用户何时在主动滚动
- 当用户滚动到页面的某个部分时,如何触发关键帧
- 如何让左侧导航跟随用户向下滚动页面
- 如何检测用户是否移动了滚动条
- 当用户将鼠标移到屏幕/图表上时,自动滚动将暂停.如果鼠标移动停止,自动滚动将再次恢复
- 下一个/上一个锚链接,如何在用户滚动时更新下一个/上一个链接
- 在用户滚动时加载单个页面网站的不同部分
- 当用户滚动到底部时,Ajax函数会多次触发
- 用户向下滚动时自动垂直展开
- 如何制作HTML小部件“;跟随“;当用户在页面上下滚动时,保持可见
- 当用户向下滚动我的网页时,如何删除chrome地址栏周围的边框
- 如何使用jquery自动滚动用户
- 防止页面重新加载后退按钮(使用缓存).或者向下滚动用户.(至少在iPhone上发行)
- 强制垂直滚动用户操作显示为水平滚动