嘿 Rick 我遇到了同样的问题,有一个简单的方法可以解决这个问题,但这不是 scrollorama 问题。我还建议使用http://johnpolacek.github.io/superscrollorama/代替,因为它更新了一些。
无论好坏,Greensock 都会将您的 jquery 操作范围限制在用于动画的 $this 参数的范围内,以防止出现问题。有一种方法可以通过设置您正在调用的函数的范围来解决这个问题。
我通过将我的 jquery 这个元素的范围设置为页面的不同部分来解决这个问题。在我的示例中,我使用了与补间相同的位置,但实际上您可以将范围设置为任何有效的 jquery 选择器。您需要确保您使用的是最新的 greensock 插件。其他文档可以在http://api.greensock.com/js/找到
var timeLine1 = new TimelineLite({align: "sequence"})
.append([TweenMax.to($('#display-platform-list .frame-1'), 2, {css:{display:'block'},onUpdate:removeSiblings,onUpdateScope:$('#display-platform-list .frame-1')})])
.append([TweenMax.to($('#display-platform-list .frame-2'), 2, {css:{display:'block'},onUpdate:removeSiblings,onUpdateScope:$('#display-platform-list .frame-2')})])
.append([TweenMax.to($('#display-platform-list .frame-3'), 2, {css:{display:'block'},onUpdate:removeSiblings,onUpdateScope:$('#display-platform-list .frame-3')})])
.append([TweenMax.to($('#display-platform-list .frame-4'), 2, {css:{display:'block'},onUpdate:removeSiblings,onUpdateScope:$('#display-platform-list .frame-4')})])
.append([TweenMax.to($('#display-platform-list .frame-5'), 2, {css:{display:'block'},onUpdate:removeSiblings,onUpdateScope:$('#display-platform-list .frame-5')})])
.append([TweenMax.fromTo( $('#platform .callout'), 1, {css:{opacity: 1}}, {css:{opacity: 0}})]);
function removeSiblings(){
$(this).siblings().hide();
}