2017-06-02 9 views
-2

Ich habe eine große ungeordnete Liste. Wenn die Liste den Fokus hat, kann ich die Pfeiltasten verwenden, um in der Liste auf und ab zu gehen. Wenn ich jedoch zum letzten Link komme, drücke ich erneut den Abwärtspfeil, um den Fokus auf den ersten Link zu setzen. Auch wenn ich auf dem ersten Link bin und auf den Pfeil nach oben drücke, muss ich den letzten Link fokussieren.am Ende der Liste nach oben scrollen

Ich habe versucht, mit dem ersten Kind und letzten Kind zu spielen, kann aber nicht herausfinden, wie es geht. Jede Hilfe würde sehr geschätzt werden.

Ich habe eine jsFiddle um mit zu spielen.

ich schon einige Dinge ausprobiert habe, hier ein Beispiel ist:

$("ul li a:last-child:after")$(this).parents('li').find('a:first-child'); 
+0

* .oO (... Einige Lesungen über [jQuery] (https://learn.jquery.com/) wurde übersprungen. ...) * ** Zu breit! ** –

+0

@Louys Patrice Bessette Sorry Ich fange gerade an, jQuery zu lernen. Ich kann meinen Kopf noch nicht richtig umschließen. – Greg

+0

[Chat?] (Https://chat.stackoverflow.com/rooms/145750/jquery-very-basics) –

Antwort

1

Wie bereits erwähnt, wird dringend empfohlen, Ihre Check-out die learn.jquery Ort.

Wie für eine Lösung:

die Antwort in Focus on list item on down arrow press Gebäude aus, die durch alle Einzelteile werden bereits blättern. Was Sie tun müssen, ist zu überprüfen, ob das aktuell ausgewählte Element das letzte ist. jQuery hat die .last() Methode, die, wenn Sie ihr ein Array von Elementen geben, das letzte zurückgibt. In diesem Beispiel ist Putting es auch eine Klasse von active auf das aktuell ausgewählte Element, so dass Sie nur, wenn der letzte Punkt die Klasse „aktiv“ hat müssen überprüfen, die Sie mit tun:

$("li").last().hasClass("active")

Dann Wenn das der Fall ist, möchten Sie den ersten Eintrag auswählen. jQuery hat auch .first(), was das Gegenteil von dem tut, was .last() tut. Sie wollen also mit dem ersten Element wählen:

$("li").first().focus();

Denken Sie daran, dass im Codebeispiel, wenn ein Element ist „fokussiert“ es wird die Klasse „aktiv“ angewendet zu.

Arbeitslösung hier: https://jsfiddle.net/38zR3/766/

Wenn Sie das Gegenteil tun wollen, wenn jemand automatisch nach unten nach oben kommt, setzt genau das Gegenteil Code in den Abschnitt der „wenn Taste nach oben“ (die ist Schlüsselcode 38).