如何使用underscore.js中的throttle

时间:2013-01-08 10:43:01

标签: jquery underscore.js throttling

我想使用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>

提前谢谢!

1 个答案:

答案 0 :(得分:2)

使用计时器可以获得相同的结果。对于一个IMO功能,包括整个库是没有意义的。

试试这个:

$(document).ready(function() {
    var timer;

    /* Scroll event handler */
    $(window).bind('scroll', function(e) {
        clearTimeout(timer);
        timer = setTimeout(parallaxScroll, 100);
    });
}); 

这将确保滚动事件仅在滚动结束后触发您的parralax函数,而不是为页面滚动的每个像素调用一次。