Skrollr是一个很棒的插件,有很多选项,但是当滚动位置在最后一个关键帧之后时,我真的无法理解是否有某种方法可以传递函数。例如,查看此fiddle。
滚动顶部的100个像素时,scrollable-between
类在scrollable-after
中更改。以类似的方式,我想传递一个函数(例如:当滚动位置在最后一个关键帧之后进行填充时)。
您将如何实现?
最佳答案
您将要使用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
来解决该问题,但是我还没有对此进行任何测试。