我有一个视差/动画页面,我在其中固定一个元素在其容器的持续时间内。我还使用以下功能覆盖自然鼠标滚动行为:
function smoothScroll() {
var $window = $(window);
var scrollTime = 1;
var scrollDistance = 400;
$window.on("mousewheel DOMMouseScroll", function (event) {
event.preventDefault();
var delta = event.originalEvent.wheelDelta / 120 || - event.originalEvent.detail / 3;
var scrollTop = $window.scrollTop();
var finalScroll = scrollTop - parseInt(delta * scrollDistance);
TweenMax.to($window, scrollTime, {
scrollTo: { y: finalScroll, autoKill: true },
ease: Power1.easeOut,
overwrite: 5
});
});
}
这似乎导致我的固定元素不稳定和滞后,我怀疑原因是 scrollMagic 在不自然的滚动完成之前再次更新了我的固定元素的位置(没有我的 smoothscroll,pinend 元素滚动平滑)。
我已经用谷歌搜索并阅读了 scrollmagic 文档,但仍然不知道如何使其顺利进行。有任何想法吗?
编辑:
这是显示问题的两个小提琴:
没有波涛汹涌的平面,但没有平滑的滚动 -> http://codepen.io/anon/pen/azexRm
断断续续的平面 + 平滑滚动 -> http://codepen.io/anon/pen/wBVZYQ