2017-06-02 13 views
-2

私は大きな順序付けられていないリストを持っています。リストにフォーカスがあるときは、矢印キーを使ってリストを上下に移動できますが、下矢印をもう一度押すと最後のリンクに戻ると、最初のリンクにフォーカスを戻す必要があります。また、私が最初のリンク上にあって上矢印を押すと、最後のリンクに集中する必要があります。リストの最後にスクロール

私は最初の子供と最後の子供と一緒に遊んでみましたが、それをする方法を考えることはできません。どんな助けでも大歓迎です。

私にはjsFiddleがあります。私はかなりいくつかのことを試してみた

、ここでは一例です:

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

* .oO(... [jQuery](https://learn.jquery.com/)に関するいくつかの読み方はスキップされました...)* **広すぎる!** –

+0

@Louys Patrice Bessette私はちょうどjQueryを学び始めています。私はそれの周りに私の頭を適切に包むことはできません。 – Greg

+0

[チャット?](https://chat.stackoverflow.com/rooms/145750/jquery-very-basics) –

答えて

1

述べたように、非常にあなたのチェックアウトlearn.jqueryサイトをすることをお勧めします。溶液は、溶媒として

すでにすべての項目をスクロールしますFocus on list item on down arrow pressで答えを、オフに構築します。あなたがする必要があるのは、現在選択されている項目が最後かどうかを確認することです。 jQueryには.last()メソッドがあります。このメソッドは、要素の配列に渡すと最後の要素を返します。その例では、それはまた、現在選択されている要素にactiveのクラスを入れているので、あなただけの最後の項目は、あなたがしていますが、これは「アクティブ」クラスを持っているかどうかを確認する必要があります。

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

その後それが本当であれば、最初の項目を選択します。 jQueryの.first()も、.last()とは逆の動作をします。コード例では要素がそれに適用される「アクティブ」クラスを取得し、「集中」されたときにことを、覚えておいてください

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

:だから、との最初の要素を選択します。

ここ

ワーキングソリューション:あなたが反対をしたい場合は、誰かがトップになったときに、自動的に下に行くhttps://jsfiddle.net/38zR3/766/

、単に(「もしアップキー」のセクションに反対のコードを入れていますキーコード38)。

関連する問題