Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как дублировать класс (https://javascript.ru/forum/dom-window/77729-kak-dublirovat-klass.html)

ethereal 11.06.2019 20:35

Как дублировать класс
 
Есть такой код:

<ul>
  <li>text</li>
  <li>text</li>  
  <li class="show">text</li>  
  <li>text</li>  
</ul>


Класс show добавляется и исчезает автоматически к одному li. Как сделать что бы когда класс show добавляется, вместе с ним добивился класс и к остальним li?

Вот так:
<ul>
  <li class="show">text</li>
  <li class="show">text</li>  
  <li class="show">text</li>  
  <li class="show">text</li> 
</ul>


и также исчезали, если класс отсутствует.
https://codepen.io/anakin-skywalker94/pen/KjwKGG

Спасибо!

рони 11.06.2019 20:57

ethereal,
может изменить функцию, которая ставит класс, а не ставить "сторожа"?

ethereal 11.06.2019 20:59

Тут не так все просто, если изменить функцию - не будет все правильно работать

рони 11.06.2019 21:16

ethereal,
:-?

Malleys 12.06.2019 14:03

Цитата:

Сообщение от ethereal
Класс show добавляется и исчезает автоматически к одному li. Как сделать что бы когда класс show добавляется, вместе с ним добивился класс и к остальним li?

У вас сейчас получается ul > li.show и выбран один элемент списка. Вы можете добавлять класс .show не к элементу списка, а к самому списку. Получится ul.show > li и выбраны все элементы списка!

Цитата:

Сообщение от ethereal
Тут не так все просто, если изменить функцию - не будет все правильно работать

То, что вы показали, непременно будет работать, вам только прописать в стилях правильный селектор!

ethereal 12.06.2019 21:02

Неужели нету возможность на JS это сделать?

рони 12.06.2019 21:38

Цитата:

Сообщение от ethereal
Неужели нету возможность на JS это сделать?

Цитата:

Сообщение от ethereal
если изменить функцию - не будет все правильно работать

:)

ethereal 12.06.2019 21:57

Я говорю про дополнительный код, не связаный с функцией.

Я сделал вот так:
$( '.menu-navigation li' ).click(function() {
  setTimeout(function(){
    $(".show").siblings().toggleClass('show');
  }, 2000);
});


Классы добавляется как надо, только уже не удаляются.

рони 12.06.2019 22:04

ethereal,
измените функцию которая ставит класс!!!

ethereal 12.06.2019 22:08

Это framework. Я не хочу менять что бы не испортить что то.


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