Jump to content
  • 0

jQuery.index() и другие моменты)


Нарек
 Share

Question

Здравствуйте. Придумал себе задачку и застрял в реализации)

Допустим есть такой код 

http://jsfiddle.net/9f535con/

 

Изначально задумывалось так:

По клику на цифры убирается класс active и добавляется той цифре на которой кликнуто + всем другим соответствующим цифрам. То есть тыкнул на цифру 2 - все цифры 2 должны быть с классом active. Думал пользоваться jquery.index(), но наверно я не до конца понимаю как работает эта функция, поэтому получаю отказ кода работать)

В планах было еще вот что:

Как видите второй блок с горизонтальной прокруткой, задумывалось. что если там существует элемент с классом active - прокрутка должна крутиться так, чтобы этот элемент был в поле видимости. То же самое  касается и третьего блока с overflow:hidden. Там тоже 5 элементов, и если 5-ый с active то прокрутить его в поле видимости..

Если у кого есть свободное время, делайте пожалуйста наброски, я посмотрю и постараюсь понять логику. 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Спасибо. Я читал, что index() возвращает индекс элемента, мне нужно именно это а не с цифрой) Цифры поставил для наглядности. Я так думал, что у цифры 2 скажем индекс будет 1 (0 для цифры 1 и 1 для цифры 2). И если я выбираю элементы с индексом 1, то во всех линиях у меня должны выбраться элементы с индексом 1, то есть цифра 2..

 

Просто меняем text() на index() делов то, и добавляем прокрутку http://jsfiddle.net/wwt/9f535con/3/

  • Like 1
Link to comment
Share on other sites

  • 0
.index() возвращает индекс элемента, а не цифру в тексте.
 

Спасибо.

Я читал, что index() возвращает индекс элемента, мне нужно именно это а не с цифрой) Цифры поставил для наглядности.

Я так думал, что у цифры 2 скажем индекс будет 1 (0 для цифры 1 и 1 для цифры 2). И если я выбираю элементы с индексом 1, то во всех линиях у меня должны выбраться элементы с индексом 1, то есть цифра 2.. 

Link to comment
Share on other sites

  • 0

Если вы вдруг захотели бы заморочиться с индексами, то это могло выглядеть примерно так:

$('.items_list > item').click(function() {	$(".items_list > item.active").removeClass("active");	var nth = $(this).index() + 1; // потому что индексы начинаются с 0, да и вообще эту строку можно убрать вниз, но пусть будет	$(".items_list > item:nth-child(" + nth + ")").addClass("active");});
Edited by nomalware
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy