так что спасибо вам за все, что мне помогают. Вы заставили меня задуматься над тем, что я делал, поэтому я коротко изложил свой код так, как мне показалось, было бы хорошо, но до того, как код стал длинным, но работал сейчас, короткий, но не работает с первой панелью, даже если ошибок нет. цикл?
Таким образом, HTML выглядит так:
<div class="container">
<div class="down sound">
<img id="batman" class="image-1-panel active" src="flash.svg">
<img class="image-2-panel notactive" src="http://cdn.playbuzz.com/cdn/3c096341-2a6c-4ae6-bb76-3973445cfbcf/6b938520-4962-403a-9ce3-7bf298918cad.jpg">
<p class="image-3-panel notactive">Bane</p>
<p>Joker</p>
<p>Alfred</p>
</div>
И затем он повторяется еще для 3 контейнеров, подобных этому. На css для активных и не активных у меня есть:
.notactive{
visibility: hidden;
position: relative;
}
.active{
position: absolute;
}
А в js:
document.querySelector('#batman').addEventListener('click', batman);
function batman(){
document.querySelector('.image-1-panel').classList.toggle('.notactive');
document.querySelector('.image-1-panel').classList.toggle('.active');
document.querySelector('.image-2-panel').classList.toggle('.active');
document.querySelector('.image-2-panel').classList.toggle('.notactive');
}
Но ничего не происходит ... У меня также есть цикл for для звуков, который работает все еще хорошо, но панели не двигаются. Кто-нибудь может поделиться здесь некоторым светом? Я думал в цикле и пробовал следовать функции, но также не работал так ясно, что я что-то упустил, может быть, неправильный элемент, который я пытаюсь поймать?
Выше у меня есть мой вопрос без редактирования, где вы можете понять, что я имею в виду.
Спасибо за вашу помощь
У меня 4 панели. На каждой панели будет 3 изображения / текст одно за другим. Так что сработает так, что при нажатии на панель 1 панели 2,3 и 4 повернутся, чтобы показать изображение. Нажмите панель 2, и панели 1,3 и 4 повернутся, чтобы показать другое изображение, чем при нажатии панели один. И так один для остальных панелей.
Итак, я начинаю и создаю функцию для первой панели. Это работает, но есть ли способ сделать это проще? Вот код:
function guessWho(){
document.querySelector('.image-1-panel').classList.toggle('notactive');
document.querySelector('.image-1-panel').classList.toggle('active');
document.querySelector('.image-2-panel').classList.toggle('active');
document.querySelector('.image-2-panel').classList.toggle('notactive');
document.querySelector('.image-3-panel').classList.toggle('active');
document.querySelector('.image-3-panel').classList.toggle('notactive');
document.querySelector('.image-4-panel').classList.toggle('active');
document.querySelector('.image-4-panel').classList.toggle('notactive1');
document.querySelector('.image-5-panel').classList.toggle('active');
document.querySelector('.image-5-panel').classList.toggle('notactive');
document.querySelector('.image-6-panel').classList.toggle('active');
document.querySelector('.image-6-panel').classList.toggle('notactive2');
document.querySelector('.image-7-panel').classList.toggle('active');
document.querySelector('.image-7-panel').classList.toggle('notactive');
document.querySelector('.image-8-panel').classList.toggle('active');
document.querySelector('.image-8-panel').classList.toggle('notactive3');
}
В любом случае, я могу выразить это просто? Я не хочу использовать какие-либо рамки, так что это должен быть чистый JS. Спасибо