Skrollr是一个很棒的插件,有很多选项,但是我无法理解当滚动位置在最后一个关键帧之后是否有一些传递函数的方法。例如,请查看此fiddle。
滚动前100个像素时,scrollable-between
类会在scrollable-after
中更改。以类似的方式,我想传递一个函数(例如:当滚动位置在最后一个关键帧之后执行操作时)。
你将如何实现这一目标?
答案 0 :(得分:5)
您需要使用render
选项。如下所示:
var box = $('#box'),
boxDone = false;
skrollr.init({
forceHeight: false,
smoothScrolling: false,
render: function() {
if ( box.hasClass('skrollable-after') ) {
if ( ! boxDone ) {
boxDone = true;
// do stuff
}
} else if ( boxDone ) {
boxDone = false;
}
}
});
您不一定必须拥有boxDone
变量,但在发生这种情况时,它会使其多次运行。你也可以通过不重置那个变量来使它只发生一次。
<强> FIDDLE 强>
我可能还应该提一下,你要确保无论你在那里做什么都应该跑得快,否则你就有可能放慢一切顺利进行的速度。您可以使用setTimeout
来解决这个问题,但我还没有对此进行任何测试。