• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage zu Funktion

burn4ever

Mitglied
Hallo,
ich habe leider noch nicht ganz verstanden warum die folgende Funktion bei jedem scrollen ausgeführt wird.
Kann mir jemand sagen warum?
Code:
    $window.bind(
        'scroll.layout',
        function()
        {
            var st = $html.scrollTop();

            for ( var a = 0, l = sections.length; a < l; a++ )
            {
                var id = sections[ a ];
                console.log(id);

                if ( st > $('#' + id).offset().top - 250)
                {
                    if ( !$page.hasClass( id ) )
                    {
                        $page.removeAttr( 'class' );
                        $page.addClass( id );
                    }
                    break;
                }
            }
        }
    ).trigger( 'scroll.layout' );
 
ich habe leider noch nicht ganz verstanden warum die folgende Funktion bei jedem scrollen ausgeführt wird.
Kann mir jemand sagen warum?

Vielleicht weil du genau das programmiert hast?
Wenn sie nur einmal aufgerufen werden soll, dann nimm doch http://api.jquery.com/one/

Alternativ kannst du den EventListener auch wieder entfernen in der Funktion:
Code:
$(window).bind('scroll.layout',function () {
    // mach was
    $(this).unbind('scroll.layout');
});

Edit:
Mir ist gerade aufgefallen, durch dein .trigger( 'scroll.layout' ); frage ich mich wieso du das ganze überhaupt in ein Scroll-Event packst wenn es ohnehin nur einmal ausgeführt werden soll.
 
Zuletzt bearbeitet:
Zurück
Oben