Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery. Element.click() / 7 сообщений из 7, страница 1 из 1
22.11.2014, 16:13
    #38814101
urukhay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
Всем привет.

Есть такой простой HTML:
Код: html
1.
2.
3.
4.
5.
6.
<div class="icon"></div>
<div>Текст 1</div>
<div class="icon"></div>
<div>Текст 2</div>
<div class="icon"></div>
<div>Текст 3</div>



Мне нужно, чтобы при клике по иконке (div class=icon) нижеследующий див скрывался, если отображен, и отображался, если скрыт.
Написал такой JS:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$('.icon').click(
  function()
  {
    var block = $(this).next();
    if(block.is(':visible')) block.hide();
    else block.show();
  }
)



Кликаю по второй иконке, и скрываются все (!) блоки (Текст 1 - Текст 3). А мне нужно, чтобы скрылся только Текст 2.
Наверное, результат логичен. Как модифицировать функцию, чтобы скрывался только нижеследующий див?

Заранее спасибо!
PS: да, что-то я туплю, наверное :)
...
Рейтинг: 0 / 0
22.11.2014, 17:51
    #38814135
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
В обработчик click() передается объект Event. Из него можно узнать элемент, по которому кликнули (поле currentTarget вроде). Взять элемент, следующий за кликнутым -- обычный DOM.
...
Рейтинг: 0 / 0
22.11.2014, 17:55
    #38814137
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
Туплю. this тоже пойдет.
У меня пример работает как задумано: клики открывают и закрывают следующий <div>.
...
Рейтинг: 0 / 0
22.11.2014, 19:03
    #38814166
urukhay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
Как интересно!
А почему у меня скрываются/отображаются сразу все дивы?! ))
...
Рейтинг: 0 / 0
22.11.2014, 19:22
    #38814174
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
Надо смотреть на что-то одинаковое. Например, http://jsfiddle.net/4kuob9Le/
В div-ы .icon добавил текст, чтобы они стали видимыми.

Там у меня тоже все работает.
...
Рейтинг: 0 / 0
22.11.2014, 20:03
    #38814182
urukhay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
Значит код верно отрабатывает, стало быть, где-то логический косяк у меня )
Ладно, спасибо за содействие, буду разбираться ...
...
Рейтинг: 0 / 0
22.11.2014, 21:48
    #38814223
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jQuery. Element.click()
urukhayНаписал такой JS:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$('.icon').click(
  function()
  {
    var block = $(this).next();
    if(block.is(':visible')) block.hide();
    else block.show();
  }
)


Достаточно простой цепочки

Код: javascript
1.
2.
3.
$('.icon').click(function() {
    $(this).next().toggle();
});
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery. Element.click() / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]