FadeIn Elemente auf Blättern

8

Ich habe eine Funktion, die im Moment Elemente sequentiell ausblendet, id jedoch wie das Mausrad, um ihre Deckkraft zu steuern, wenn es möglich ist.

Kann jemand raten, wie ich das machen würde? Würde es das Mausrad Plugin benötigen? Danke für jede Eingabe

Ссылка

%Vor%

HTML-Markup

%Vor%     
Liam 03.03.2015, 15:09
quelle

11 Antworten

10

Ein Ansatz ist, dass Sie Datenattribute verwenden können, um einen Punkt festzulegen, wenn das Element fadeIn sein soll.

%Vor%

Und in JS prüfen, ob der scrollTop-Wert im Bereich zwischen dem Bildlaufpunkt des Elements und dem Bildlaufpunkt des nächsten Elements liegt.

%Vor% %Vor% %Vor%

Aktualisierte Geige

    
anpsmn 06.03.2015, 07:05
quelle
1

Immer wenn Sie ein Mausrad zum Scrollen verwenden, ändert sich die Deckkraft, um sie mehr oder weniger sichtbar zu machen. Dies geschieht mit dem DOMMouseScroll -Ereignis oder dem mousewheel -Ereignis. Siehe den folgenden Code:

%Vor%

Hier ist ein jsFiddle, es selbst zu versuchen: Ссылка

Danke an Ссылка

    
Pluto 05.03.2015 18:22
quelle
0

Sie könnten eine Bibliothek verwenden, nämlich scrollReveal.js, was ziemlich nett ist.

Hier ist ein Code Pen , den ich mithilfe der Bibliothek erstellt habe. Eine vereinfachte Version von diesem Code-Stift

Ihr Code kann so einfach sein wie:

%Vor%

Ссылка

    
cpk 05.03.2015 17:35
quelle
0

Aufgrund Apples Entscheidung, das "scroll" -Ereignis erst nach dem Scrollen zu senden, würde ich stattdessen so etwas vorschlagen -

Zuerst legen Sie alles fest, was angezeigt werden soll: Block und Deckkraft: 0

%Vor%

Obwohl dies eine jQuery-Frage ist - das Ausführen von Code wie diesem auf jedem Frame, an dem sich die Dinge ändern, kann teuer sein, daher habe ich direkten DOM-Code verwendet, der wesentlich schneller ist!

    
Rycochet 05.03.2015 17:45
quelle
0

Hier ist eine modifizierte Geige . Es ist nicht ganz klar in Ihrer Frage, aber ich nehme an, Sie möchten, dass die Deckkraft basierend darauf festgelegt wird, wo sich das Element im Ansichtsfenster befindet.

%Vor%     
Joe Enzminger 05.03.2015 17:53
quelle
0

Wenn ich Sie richtig verstehe, möchten Sie, dass beim sequenziellen Blättern durch den Benutzer die Elemente nacheinander eingeblendet werden. ( Führen Sie die Code-Snippets aus, um zu sehen, ob Sie das möchten oder nicht )

%Vor% %Vor% %Vor%
    
Hi I'm Frogatto 05.03.2015 18:01
quelle
0
  1. Brauchst du das?

    JsFiddle

    %Vor%

    Ich habe die Verzögerung (350) auf der jfiddle entfernt, aber Sie können es zurückstellen, wenn benötigt: JsFiddle

  2. Ich weiß nicht, ob Sie es brauchen, aber wenn ja, gibt es einen Code JsFiddle (nicht perfekt) das macht, was Sie wollen, plus das Gegenteil .

    • Nach unten scrollen: Dein Ding erscheint nacheinander
    • Scroll up: Dein THING verschwindet nacheinander
Romain Derie 05.03.2015 17:15
quelle
0

Sie können einfach Twitter Bootstrap Scrol Spy verwenden und nicht versuchen, das Rad neu zu erfinden. Um das gewünschte Verhalten zu erreichen, folgen Sie einfach den Anweisungen und fügen Sie die folgenden css hinzu:

%Vor%

Übrigens können Sie es auch dort ausprobieren. Öffnen Sie die verknüpfte Website, fügen Sie das Snippet auf der Konsole hinzu und scrollen Sie durch die Dokumentation.

    
falsarella 11.03.2015 21:26
quelle
0

Also hier ist meine Lösung für das Problem:

Elemente, die eine Klasse von .sectrol-link haben, werden ausgeblendet oder nacheinander, je nachdem, wie Sie scrollen.

Damit diese Methode funktioniert, müssen Sie keine aktuelle Bildlaufleiste haben. Die Lösung verfolgt die Scroll-Position nicht, sie basiert auf dem Ereignis "Scrollrad".

Es blendet auch die Elemente beim Scrollen aus.

Ich bin mir sicher, dass Sie die Lösung an Ihre Bedürfnisse anpassen können.

%Vor%

Die Menge an Rad-Scrolling, die zum Ein- oder Ausblenden der Verbindung benötigt wird, wird durch die Variable pxPerItem gesteuert. Wenn Sie ein solches Objekt unten auf Ihrer Seite platzieren möchten, müssten Sie die Variablen scrollYMax und calculateFadeFunction so anpassen, dass sie Ihrer Höhe entsprechen.

Geige: Ссылка

    
Mokona Modoki 12.03.2015 14:03
quelle
0

Ich habe das erfolgreich verwendet, um das zu erreichen, was Sie tun möchten:

%Vor%     
chroix 12.03.2015 16:39
quelle
0

Ich habe deine Geige aktualisiert, hoffentlich ist das, wonach du gesucht hast?

Dies verwendet .fadeIn / .fadeOut für jedes Element, abhängig von der Bildlaufposition

zum Beispiel:

%Vor%     
Pixelomo 05.03.2015 17:24
quelle

Tags und Links