cards.forEach(element=> {
element.addEventListener('click',()=>{
element.classList.add('opened');
opened.push(element);
addMove();
if (opened.length === 2){
cards.forEach(element=>{element.style.cursor = 'auto'});
if(!(opened[0].getAttribute('type') === opened[1].getAttribute('type'))){
setTimeout(()=>{
opened[0].classList.remove('opened');
opened[1].classList.remove('opened');
opened = [];
cards.forEach(element=>{element.style.cursor = 'pointer'});
},1000)
}
}
})
})
не проходит последний пункт:
Нажатие по .card ничего не должно делать если длина массива opened равняется 2.
Пробовал иначе:
cards.forEach(element=> {
element.addEventListener('click',()=>{
if (opened.length === 2){
if(!(opened[0].getAttribute('type') === opened[1].getAttribute('type'))){
setTimeout(()=>{
opened[0].classList.remove('opened');
opened[1].classList.remove('opened');
opened = [];
},1000)
}
}
else{
element.classList.add('opened');
opened.push(element);
addMove();
}
})
})
но тогда не проходят:
setTimeout должен быть вызван когда в массиве opened два элемента
setTimeout должен ждать 1 секунду
Колбэк setTimeout должен удалить класс .opened у элемента opened[0]
Колбэк setTimeout должен удалить класс .opened у элемента opened[1]
Колбэк setTimeout должен устанавливать переменную opened в пустой массив