Поверните элементы li с помощью jquery - PullRequest
1 голос
/ 13 сентября 2010

У меня есть список UL, например:

<ul>
  <li>menu1</li>
  <li>menu2</li>
  <li>menu3</li>
  <li>menu4</li>
  <li>menu5</li>
</ul>

Я хочу использовать этот список в качестве анимированного меню JQuery.Настройте таким образом, чтобы, если пользователь нажимает на menu3, он становится первым пунктом в списке, так как menu1 и menu2 добавляются в конец.

Поэтому после нажатия на menu3 ul будет выглядеть так:

<ul>
  <li>menu3</li>
  <li>menu4</li>
  <li>menu5</li>
  <li>menu1</li>
  <li>menu2</li>
</ul>

Любые рекомендации или предложения будут с благодарностью.

Ответы [ 2 ]

5 голосов
/ 13 сентября 2010

Вы можете сделать что-то вроде этого:

$("li").click(function() {
    var prev = $(this).prevAll();
    $.unique(prev).slideUp(function() {
        $(this).appendTo(this.parentNode).slideDown();
    });
});​​​

Попробуйте здесь , вызов $.unique(), потому что элементы из .prevAll() находятся в обратном порядке ... и для добавления до конца, мы хотим, чтобы они были в порядке документов.

0 голосов
/ 13 сентября 2010

Возможно, вы захотите проверить решение от No Surprises , найденное в этом SO вопросе .Похоже, ОП хотел сделать именно то, что вы хотите.

...