Асинхроность между двумя дивами на js?

204
26 января 2018, 21:48

Привет есть такая структура

<div class="wrapper1">
  <div class="wrapper1-item active"></div>
  <div class="wrapper1-item"></div>
  <div class="wrapper1-item"></div>
  <div class="wrapper1-item"></div>
  <div class="wrapper1-item"></div>
</div>
<div class="wrapper2">
  <div class="wrapper2-item active"></div>
  <div class="wrapper2-item"></div>
  <div class="wrapper2-item"></div>
  <div class="wrapper2-item"></div>
  <div class="wrapper2-item"></div>
</div>

Как сделать что бы при клике по элементу из wrapper1 элемент который находиться в точно такой же позиции по индексу из wrapper 2 получил класс active А у остальных удалялось, ибо только 2 могут иметь класс active

Только чистый JS интересует

Answer 1

var wrapper1Item = document.getElementsByClassName('wrapper1-item'); 
var wrapper2Item = document.getElementsByClassName('wrapper2-item'); 
for (let i = 0; i < wrapper1Item.length; i++) { 
  wrapper1Item[i].addEventListener('click', function() { 
    for (let i = 0; i < wrapper1Item.length; i++) { 
      wrapper1Item[i].classList.remove('active'); 
      wrapper2Item[i].classList.remove('active'); 
    } 
    wrapper1Item[i].classList.add('active'); 
    wrapper2Item[i].classList.add('active'); 
  }) 
}
.wrapper1-item.active { 
  background: red; 
} 
 
.wrapper2-item.active { 
  background: red; 
}
<div class="wrapper1"> 
  <div class="wrapper1-item active">wrapper1-item</div> 
  <div class="wrapper1-item">wrapper1-item</div> 
  <div class="wrapper1-item">wrapper1-item</div> 
  <div class="wrapper1-item">wrapper1-item</div> 
  <div class="wrapper1-item">wrapper1-item</div> 
</div> 
 
<div class="wrapper2"> 
  <div class="wrapper2-item active">wrapper2-item</div> 
  <div class="wrapper2-item">wrapper2-item</div> 
  <div class="wrapper2-item">wrapper2-item</div> 
  <div class="wrapper2-item">wrapper2-item</div> 
  <div class="wrapper2-item">wrapper2-item</div> 
</div>

READ ALSO
Как узнать кнопку из формы, которая запустила PHP скрипт?

Как узнать кнопку из формы, которая запустила PHP скрипт?

Здравствуйте, имеется более 100 записей (которые, естественно, выведены автоматом через php)В каждой записи есть своя форма вида:

257
Как сделать бэкграунд

Как сделать бэкграунд

Не могу понять каким образом создавать подобные бэкграунды не используя заранее заготовленное изображение

344
Как лучше использовать React.js?

Как лучше использовать React.js?

Как его использовать эффективнее, например выгружать с помощью него все элементы html разметки или только динамические, к примеру блоки с новостями?...

209
как загрузить изображение с компьютера? [требует правки]

как загрузить изображение с компьютера? [требует правки]

надо сделать, чтобы изображение с компьютера отображалось на странице

194