Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Открытие элементов по клику toggle/hide (https://javascript.ru/forum/jquery/64199-otkrytie-ehlementov-po-kliku-toggle-hide.html)

Black_Star 26.07.2016 11:03

Открытие элементов по клику toggle/hide
 
Добрый день уважаемые, вот возникла проблема в написание кода по скрытию/отображению элементов. https://jsfiddle.net/BlackStar1991/1pbaub5p/
Работать оно должно следующим образом. По-умолчанию все элементы в блоке BigBlock срыты, по нажатию на ссылки появляется по одному элементу. Не пойму где я допускаю ошибку :-?

рони 26.07.2016 11:10

Цитата:

Сообщение от Black_Star
Не пойму где я допускаю ошибку

Цитата:

if ($('one').click()) {
это бред

Black_Star 26.07.2016 11:34

Цитата:

Сообщение от рони (Сообщение 423446)
это бред

А что так ? Из документации .click() - Вызывает событие click, у выбранных элементов страницы. Метод является аналогом trigger("click"). Почему обработчик его не понимает ?

рони 26.07.2016 12:15

Black_Star,
потому что обычно наоборот: условие в клике, а не как у вас клик в условии

Black_Star 26.07.2016 12:38

Цитата:

Сообщение от рони (Сообщение 423451)
Black_Star,
потому что обычно наоборот: условие в клике, а не как у вас клик в условии

Чё-то непонятно. :blink: Я следовал такой логике. Если(if) происходит событие нажатия на ссылку с указанным ID то отобрази блок такой-то. if(условие){ если == true, действие} иначе все блоки скрыты. А как надо было думать ?

рони 26.07.2016 12:41

Black_Star,
назначать клик и думать что будет в клике

рони 26.07.2016 12:44

Black_Star,
набрать в поиске открывашка или Открывашка и смотреть как всё устроено

Black_Star 26.07.2016 13:09

https://jsfiddle.net/BlackStar1991/1pbaub5p/2/
Ок, вроде бы запустил. Без условного оператора if.
Но теперь у меня другая проблема, теперь мне необходимо что б при нажатии на ссылку все другие блоки переходили в невидимость кроме того блока что я нажал, и не загромождали мне задний фон

рони 26.07.2016 13:15

Цитата:

Сообщение от Black_Star
при нажатии на ссылку все другие блоки переходили в невидимость кроме того блока что я нажал,

Цитата:

Сообщение от рони
набрать в поиске открывашка или Открывашка и смотреть как всё устроено

Цитата:

Сообщение от рони
DivMan,
250 открывашек на форуме обязательно нужна своя? сохранить открытый элемент в переменную -- в клике проверить если в переменной что-то и это что-то != новому то

http://javascript.ru/forum/events/64...uchaetsya.html

Black_Star 26.07.2016 18:47

рони :thanks: Я оценил насколько это заезженная тема)
Вы её по 5 раз на неделю объясняете :) Но всё равно спасибо, Вы очень помогли

У меня вышло. https://jsfiddle.net/BlackStar1991/1pbaub5p/5/
Кому интересно, как избавится от лишних блоков. Объясняю - Нужно выбрать все элементы которые не являются вашим блоком по клику и стрыть их до того момента как нажмете клик
$('#BigBlock>div:not(#secondBlock)').hide();


Часовой пояс GMT +3, время: 09:46.