3

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>

前もって感謝します!

4

1 に答える 1

2

タイマーを使用して同じ結果を得ることができます。1 つの関数 IMO にライブラリ全体を含める意味はありません。

これを試して:

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

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

これにより、スクロール イベントは、ページがスクロールされるピクセルごとに 1 回呼び出されるのではなく、スクロールが終了した後にのみ視差関数を起動するようになります。

于 2013-01-08T10:46:18.260 に答える