JQuery перейти к следующему элементу - PullRequest
0 голосов
/ 29 июля 2011

Я пытаюсь использовать функцию jquery next, чтобы щелкнуть ссылку, чтобы перейти к следующему элементу в неупорядоченном списке.То, что у меня есть, ниже, но я получаю 404, говоря, что не может найти [объект]

$('.next').click(function (event) {
    window.location = $('li').next();
});

и

<div id="nextButton"><a href="#" class="next" id="next">&gt;</a></div>

Ответы [ 2 ]

4 голосов
/ 29 июля 2011

Если вы разместили свой код в точности как есть, существует много синтаксических ошибок. Ниже приведена исправленная версия:

$('.next').click(function (event) { // missing $/jQuery
    window.location = $('li').next();
}); // missing the close parentheses

Кроме того, поскольку вы работаете с jQuery, вы можете рассмотреть возможность использования чего-то вроде:

// where selector is the selector for the element you are scrolling to
$(window).scrollTop(selector.position().top); 

EDIT

Если он горизонтальный, вам нужно только соответствующим образом настроить код прокрутки. e.g.:

$(window).scrollLeft(selector.position().left); 

РЕДАКТИРОВАТЬ # 2

Вот очень простой пример того, чего, я думаю, вы пытаетесь достичь:

http://jsfiddle.net/FsjkM/

Щелкните по части HTML, и она перейдет к следующему элементу списка (обратите внимание на изменяющиеся номера).

В вашем реальном приложении вам необходимо отслеживать или вычислять «текущий» элемент, чтобы учесть предыдущую / следующую функциональность.

Окончательное редактирование

http://jsfiddle.net/FsjkM/1/

Я немного уточнил это, чтобы дать вам представление о том, как будет выглядеть более полная структура. Обратите внимание, что проверки границ не существует - если вы нажмете prev в начале или на следующем в конце, он сломается.

0 голосов
/ 29 июля 2011

Есть несколько проблем с вашим кодом.

  1. $ ('li') вернет все элементы 'li', поэтому $ ('li'). Next () вернет массив. Вам нужен селектор, чтобы указать текущий выбор.

  2. next () вернет элемент, это не обязательно внутренний html. Возможно, вы захотите использовать next (). html () Я думаю, это было ваше намерение. Но это не значит, что это будет работать. Продолжайте читать дальше. : -)

  3. window.location принимает строку URL (например, "http://www.google.com"), а не ссылку html (например, <a href="http://www.google.com">Google</a>)

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...