Estoy luchando para que mi código Javascript funcione.
Lo quiero para que cuando alguien haga clic en el resumen de revisión del producto de mi sitio web, se desplace a la sección de revisiones y abra la pestaña correspondiente.
Logré que la parte de desplazamiento funcionara, pero no pude abrir el acordeón.
Aquí hay un enlace al sitio: https://mgdev.monstershop.co.uk/t-mech-5-in-1-52cc-petrol-garden-cutter-multi-tool
Aquí está el código que tengo hasta ahora.
<script> function viewReviews(){ document.getElementById('customer-reviews').scrollIntoView({ behavior: 'smooth'}); document.getElementsByClassName('productAccordian').style.display='block'; } </script> <div class="reviews-actions"> <a class="action view" style="cursor: pointer;" onclick="viewReviews()">
Este es el código que genera el acordeón.
<div> <input id="ac-<?php echo $counter; ?>" name="accordion-1" type="radio" <?php if($counter == 1){echo 'checked';} ?>> <label for="ac-<?php echo $counter; ?>" class="accordion <?php if($counter == 1){echo 'active';} ?>"><strong><?= /* @noEscape */ $label ?></strong><span class="fa fa-angle-down pull-right" style="color: #6E716E;padding: 10px;"></span></label> <article class="productAccordian"> <?= /* @noEscape */ $html ?> </article> </div>
Me doy cuenta de que cuando trato de abrir el acordeón haciendo clic en él normalmente parece funcionar. Simplemente no con mi nueva función.
Cualquier ayuda en esto sería appriciated.
getElementsByClassName
devuelve una matriz de elementos. Por lo tanto, la asignación no está funcionando. Puede probar getElementById para que funcione o document.getElementsByClassName('productAccordian')[0].style.display='block'