@Andrex1911

Как осуществить? когда один вопрос открывается, остальные закрываются?

На этой страничке возможно это реализовать (во вкладке Ответы и Вопросы)? Подскажите куда двигаться? нашел на просторах скрипт (второй который), но как применить/привязать к моему списку ФАК не знаю, подскажите пожалуйста
<script>
        var label1 = document.getElementById('tab-btn-1');
        var label2 = document.getElementById('tab-btn-2');
        var label3 = document.getElementById('tab-btn-3');
        var label4 = document.getElementById('tab-btn-4');
        
        var block1 = document.getElementById('content-1');
        var block2 = document.getElementById('content-2');
        var block3 = document.getElementById('content-3');
        var block4 = document.getElementById('content-4');
        
        var blocks = [block1, block2, block3, block4];
        
        label1.addEventListener('click', () => {
            for(let i = 0; i < blocks.length; i++){
                if(i == 0){
                    blocks[i].style.display = 'block';
                }
                else{
                    blocks[i].style.display = 'none';
                }
            }
        });
        label2.addEventListener('click', () => {
            for(let i = 0; i < blocks.length; i++){
                if(i == 1){
                    blocks[i].style.display = 'block';
                }
                else{
                    blocks[i].style.display = 'none';
                }
            }
        });
        label3.addEventListener('click', () => {
            for(let i = 0; i < blocks.length; i++){
                if(i == 2){
                    blocks[i].style.display = 'block';
                }
                else{
                    blocks[i].style.display = 'none';
                }
            }
        });
        label4.addEventListener('click', () => {
            for(let i = 0; i < blocks.length; i++){
                if(i == 3){
                    blocks[i].style.display = 'block';
                }
                else{
                    blocks[i].style.display = 'none';
                }
            }
        });
    </script>
    <script>
    let accordYar = document.querySelectorAll(.accordeon-rules ul li input[type="checkbox"]); 
let accordYarText = document.querySelectorAll(.accordeon-rules ul li input[type="checkbox"]:checked~p);
accordYarTextOpen = document.querySelectorAll(.accordeon-rules ul li input[type="checkbox"]:not(:checked)~p).forEach(e=>e.style.display = none);
accordYarText.forEach(e => e.style.display = none);
for(i=0; i<accordYar.length; i++) {
    accordYar[i].addEventListener(click, (el)=> {
      alert(ss);
      accordYarText.forEach(e=> e.style.display = none)
      el.currentTarget.classList.add(open);
    })
}
</script>
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mi11er
@Mi11er
A human...
Сделать 1 обработчик, который при клике откроет твой вопрос, а в цикле, другие закроет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы