Angular ui-utils scrollfix

7

Ich wollte das Modul ui-Utils: scrollfix verwenden, um eine <div> zu haben. bei Start bei 100px, und wenn ich nach unten scrolle, sollte es auf 0px festgelegt werden.

%Vor%

Auf der Scrollfix-Demo-Site gibt es eine Tippbox, die sagt:

  

Beachten Sie, dass diese Anweisung dem Element nur eine ui-scrollfix-Klasse hinzufügt. Es liegt an Ihnen, die entsprechenden CSS-Regeln hinzuzufügen. Sie können jedoch auch andere Regeln hinzufügen, wenn Sie dies bevorzugen.

Selbst auf der Demo-Seite funktioniert es nicht wirklich .... Oder ich erwarte etwas falsch.

    
Joerg 08.05.2014, 16:50
quelle

3 Antworten

22

Wie Sie bereits erwähnt haben, lautet der Hinweis auf der Scrollfix-Demoseite:

  

Beachten Sie, dass diese Anweisung dem Element nur eine ui-scrollfix-Klasse hinzufügt. Es liegt an Ihnen, die entsprechenden CSS-Regeln hinzuzufügen. Sie können jedoch auch andere Regeln hinzufügen, wenn Sie dies bevorzugen.

Diese Anweisung funktioniert also so, dass dem Element immer dann eine einzelne CSS-Klasse ui-scrollfix hinzugefügt wird, wenn die Bildlaufbedingung erfüllt ist, und andernfalls die Klasse (wenn Sie zurück zum Anfang blättern). Daher liegt es in Ihrer Verantwortung, richtigen CSS Stil hinzuzufügen.

Sie können dies erreichen, indem Sie dem Element eine andere Klasse oder CSS-ID hinzufügen und das richtige CSS-Styling für die beiden Fälle definieren - den normalen und den festen, wenn Sie nach unten scrollen. Zum Beispiel können Sie so etwas in Ihrem Code haben:

%Vor%

In diesem normalen Zustand kann jeder Stil angewendet werden:

%Vor%

Wenn die ui-scrollfix -Bedingung ausgelöst wird (in diesem Fall haben wir sie auf +100 gesetzt, also wenn das Blättern der Seite 100px nach deinem Element gegangen ist), wird deinem <div> -Element eine weitere Klasse hinzugefügt:

%Vor%

Damit können Sie den richtigen CSS-Stil festlegen:

%Vor%

Hier ist eine Demo , die die Direktive in der oberen Navigationsleiste verwendet, die sich absolut in 100px befindet oben auf der Seite, und wenn Sie nach unten scrollen, bleibt es oben auf der Seite fixiert. Ähnlich positioniert sich der zweite (mit dem Titel "Second Navbar") unter dem obersten. Der CSS-Code, den ich für die obere Leiste verwende, ist:

%Vor%

Außerdem ist es wichtig zu erwähnen, dass ui-scrollfix="+100" bedeutet, dass die Klasse ui-scrollfix dem Element hinzugefügt wird, wenn der obere Teil des Ansichtsfensters nach dem Element 100px scrollt. Wenn Sie möchten, dass das Element die ui-scrollfix CSS-Klasse abruft, wenn es den oberen Teil des Ansichtsfensters erreicht, können Sie ui-scrollfix="+0" hinzufügen.

Hoffe, das hilft.

    
van100j 17.05.2014, 23:47
quelle
2

** hier ist ein Plünderer, wenn das einfacher ist :) ** Ссылка

  1. Stellen Sie sicher, dass Angular bootstrapped ist und läuft;

    1. Gehen Sie zur folgenden URL, um die js: zu erhalten Ссылка

    2. Entfernen Sie die Anweisungen aus dem Modulobjekt und schreiben Sie sie in Ihr eigenes Modul, das bereits geladen ist (in html: ng-app="BeispielApp" / in js: sampleApp.directive (...)

    3. Fügen Sie die folgenden HTML-Elemente als untergeordnete Elemente des Elements ein, in das Sie die ng-app-Direktive eingefügt haben: ( musste den Link funky schreiben, um es durch Stapel zu bekommen ) https: \ // github.com/angular-ui/ui-utils/blob/master/modules/scrollix/demo/index.html

  2. Fügen Sie das folgende Stilelement in das HTML ein, das Sie gerade eingefügt haben ( Inline-Stil dient nur zu Beispielzwecken ):

        .ui-scrollfix {       Hintergrund: grün;       Breite: 100%;       Position: fixiert;       oben: 0;       links: 0;     }

6. FIXED HEADER GENIESSEN (die Elemente sehen funky aus, weil du die Position angewendet hast: auf zwei davon fixiert, aber das ist nur, um dich zum Laufen zu bringen)

    
jajourda.eclipse 15.05.2014 15:01
quelle
0

Haben Sie die richtige CSS eingestellt? Ich weiß, dass Sie die Klasse auch für ui-scrollfix einstellen müssen.

    
crtjer 12.05.2014 15:54
quelle

Tags und Links