2017-07-26 4 views
0

Ich habe eine Liste als Paginierungspunkte für ein Karussell. Jedes ausgewählte Element fügt eine ausgewählte Klasse hinzu und ich kann den Index dieses Listenelements leicht abrufen.vorheriger ausgewählter Listeneintragsindex abrufen und mit aktuellem Wert vergleichen

Ich muss in der Lage sein, den aktuell ausgewählten Listeneintragsindex mit dem des zuvor ausgewählten Listeneintragsindexes zu vergleichen, damit ich feststellen kann, ob ich ihnen irgendeine Animation hinzufügen muss.

Idealerweise möchte ich in der Lage sein, die folgenden

if(currentIndex > 3 && currentIndex > oldIndex) 
{do stuff} 
+0

Wie beurteilen Sie den aktuellen Index abrufen? – PeterMader

+0

var currentIndex = $ (this) .index(); – user1464853

+0

Initialisieren Sie oldIndex auf -1. Mach einen Scheck; Wenn oldIndex -1 ist, dann setze ich oldIndex = currentIndex, sonst if currentIndex> oldIndex (mach sowas ... hier auch dann setze oldIndex = currentIndex). –

Antwort

0

zu tun Erstellen Sie eine Variable, die den alten Index gespeichert werden. Wenn das nächste Element ausgewählt ist, verwenden Sie den Wert dieser Variablen, um das zu tun, was Sie wollen. Wenn Sie fertig sind, weisen Sie der Variablen die neue Position zu. Wenn der Benutzer erneut auswählt, ist dies der alte Index.

Ich weiß nicht, Ihren Code, so dass ich hoffe, Sie verstehen:

var oldIndex = -1; // -1 indicates that the user hasn't yet selected any item 
$('.all-the-items').click(function() { 
    var currentIndex = $(this).index(); 
    if (oldIndex === -1) { 
    // the user has selected for the first time 
    } else { 
    // oldIndex holds the old index, currentIndex holds the current index 
    // do stuff with oldIndex and currentIndex 
    if(currentIndex > 3 && currentIndex > oldIndex) { 
     // ... 
    } 
    } 
    oldIndex = currentIndex; // set the old index to the current index 
}); 
Verwandte Themen