Potresti far scorrere la pagina in modo che si porti all'inizio della sezione appena aperta. Purtroppo non è una cosa così scontata e non c'è un unico metodo per farlo o una soluzione "convenzionale", ma puoi realizzarlo in vari modi a seconda di ciò che ti serve esattamente e delle tecnologie che puoi avere a disposizione; ad esempio, l'uso di jQuery potrebbe semplificare le cose se ti serve ottenere una soluzione più o meno cross-browser e magari una transizione "morbida" per lo scorrimento della pagina. In tal caso puoi cercare nel web qualcosa tipo: "jquery smooth scroll to element on page"C'è una soluzione a questo?
Qui invece una soluzione in puro JavaScript dove ho usato il metodo scrollIntoView() e qualche altro pezzo di codice per far scorrere la pagina in modo che sia reso visibile l'elemento una volta aperto:
Buon proseguimentocodice:<script> (function(){ var acc = document.getElementsByClassName('accordion'); for (var i = 0; i < acc.length; i++) { acc[i].addEventListener('click', function() { var me = this; for (var i = 0; i < acc.length; i++) { let that = acc[i]; let panel = that.nextElementSibling; that.classList[me === that ? 'toggle' : 'remove']('active'); panel.style.maxHeight = that.classList.contains('active') ? panel.scrollHeight + 'px' : null; } if (me.classList.contains('active')) { let panel = me.nextElementSibling; let scorri = function(){ me.scrollIntoView(true); }; let h; let interval = setInterval(scorri,20); scorri(); setTimeout(function(){clearInterval(interval);},500); } }); } })(); </script>![]()


Rispondi quotando
