Skrollr 是一个很棒的插件,有很多选项,但我真的不明白当滚动位置在最后一个关键帧之后时是否有某种方法可以传递函数。例如,看看这个fiddle。
当您滚动前 100 个像素时,scrollable-between
类更改为scrollable-after
. 以类似的方式,我想传递一个函数(例如:当滚动位置在最后一个关键帧之后)。
你将如何做到这一点?
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
变量,但它可以防止它在发生这种情况时多次运行。您也可以通过不重置该变量来使其仅发生一次。
我可能还应该提到,您需要确保您在那里所做的任何事情都应该运行得非常快,否则您会冒着减慢一切顺利进行的风险。您可能可以通过使用来解决这个setTimeout
问题,但我还没有对此进行任何测试。