2016-04-27 9 views
0

Ich kann keine Methode in Fullpage.js sehen, wo ich den aktuellen Abschnitt und Folie bestimmen kann. Es gibt einen Rückruf für Abschnitt (AfterLoad), aber das sagt mir nur den Abschnitt nicht die Folie. Ich möchte nicht eine virtuelle Karte in JS aufbewahren müssen, auf welcher Folie jeder Abschnitt ist, aber ich muss es wissen, um ein Social Sharing-Symbol anzuzeigen/zu verbergen. Gibt es eine Möglichkeit, auf die Interna zuzugreifenfullpage.js wo bin ich?

+0

Ich verstehe nicht, was Sie erreichen möchten, gibt es nur Möglichkeit, "Index" und "slideIndex", wo Sie Wert des aktuellen Abschnitts und Folie erhalten können. – Ivan

+0

Wenn Sie den Abschnitt ändern, wird afterLoad (anchorLink, index) aufgerufen, aber ich muss auch wissen, welche Folie gerade angezeigt wird ... –

Antwort

2

Wenn Sie bei the state classes used by fullpage.js nehmen, werden Sie feststellen, dass es eine Klasse mit der Form fp-viewing-SECTION-SLIDE als Indikator für den aktuellen Abschnitt und Folie verwendet.

Eine Klasse des Formulars fp-viewing-SECTION-SLIDE wird dem body-Element der Site hinzugefügt. (zB: fp-viewing-secondPage-0) Die Teile SECTION und SLIDE sind die Anker (oder Indizes, wenn kein Anker vorhanden ist) des aktuellen Abschnitts und der Folie.

Sie können es testen Sie sich auf the demo page und Sie können auf this video tutorial für einen Anwendungsfall dieser Funktion suchen.

Beachten Sie auch, wie die Klasse active in der aktiven Folie und Abschnitt verwendet wird, was bedeutet, dass Sie den Status der Website immer mit CSS oder Javascript erhalten können.

Zum Beispiel:

var activeSection = $('.section.active'); 
var activeSlide = activeSection.find('.slide.active'); 

Und wenn Sie einen Rückruf wie afterLoad verwenden möchten, können Sie immer tun:

$('#fullpage').fullpage({ 
    afterLoad: function(anchorLink, index) { 
     var loadedSection = $(this); 
     var loadedSlide = loadedSection.find('.slide.active'); 
    } 
}); 

Oder direkt überprüfen Sie auch die afterSlideLoad Rückruf.

+0

Danke, mit einer kleinen Änderung (.index) konnte ich erreichen, was ich brauchte :) –

+0

Bitte akzeptieren Sie die Antwort (grünes Häkchen), damit zukünftige Benutzer auf diese Frage zugreifen können. – Alvaro

+0

Was ist, wenn Sie den Index in einem separaten Skript erhalten möchten? Wenn ich dies in einem benutzerdefinierten Skript versuche, bekomme ich: "fullPage: Fullpage.js kann nur einmal initialisiert werden und Sie tun es mehrmals!" –

Verwandte Themen