我使用 spritely.net 制作动画它为您提供了启动动画的功能和停止动画的功能。
我希望动画在有人开始向下滚动页面时开始,并在他们停止滚动时停止。
我能够做到这一点,但问题是 .scroll 每秒触发动画多次启动,这使动画变得疯狂。您可以在此处查看是否向下滚动页面:
允许正常运行时的动画应该看起来更像这样:
我试过这个插件
http://benalman.com/projects/jquery-throttle-debounce-plugin/
还有这个 http://documentcloud.github.io/underscore/#throttle
但是无法让我的 jquery 准备好成为我可以传递给它的好函数,并使动画工作。我还看到其他人在不使用这些插件的情况下管理了 curtail .scroll(),但我无法调整他们的代码以适应我的目的。
这是我的 jquery,它启动和停止动画 - 我在用户滚动时的感知。
$(window).scroll( function() {
$('#bird')
.sprite({fps: 1, no_of_frames: 16, rewind: true })
});
$(window).scroll(function() {
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
$('#bird').spStop()
}, 250));
});
$(window).scroll(function() {
$('#bird').spStart()
});