我想使用throttle from underscore.js,但我不知道如何在我的代码中实现它。
<script type="text/javascript">
$(document).ready(function() {
/* Scroll event handler */
$(window).bind('scroll',function(e){
parallaxScroll();
});
});
/* Scroll the background layers */
function parallaxScroll(){
var scrolled = $(window).scrollTop();
$('header').css('top',(0+(scrolled*1))+'px');
$('#balken0').css('top',(-600+(scrolled*1))+'px');
$('#balken1').css('top',(-1465+(scrolled*1))+'px');
$('#balken2').css('top',(-2320+(scrolled*1))+'px');
}
</script>
提前谢谢!
答案 0 :(得分:2)
使用计时器可以获得相同的结果。对于一个IMO功能,包括整个库是没有意义的。
试试这个:
$(document).ready(function() {
var timer;
/* Scroll event handler */
$(window).bind('scroll', function(e) {
clearTimeout(timer);
timer = setTimeout(parallaxScroll, 100);
});
});
这将确保滚动事件仅在滚动结束后触发您的parralax函数,而不是为页面滚动的每个像素调用一次。