<div class="faq-portal-container">
<aside class="faq-sidebar-menu">
<h2 class="faq-menu-title">Catégories (5)</h2>
<ul class="faq-nav-list" id="faq-menu">
<li><a href="#pane1" class="faq-link active" onclick="showPane(event, 'pane1')">Mon terminal</a></li>
<li><a href="#pane2" class="faq-link" onclick="showPane(event, 'pane2')">Mon espace client</a></li>
<li><a href="#pane3" class="faq-link" onclick="showPane(event, 'pane3')">Ma télécollecte</a></li>
</ul>
</aside>
<main class="faq-content-panes">
<section id="pane1" class="faq-pane active">
<h3 class="md-sub-title">Mon terminal</h3>
<div class="md-faq"><div class="md-item"><div class="md-question">Comment commander un terminal ?</div><div class="md-answer"><span class="liensCommande-texte"></span></div></div></div>
</section>
<section id="pane2" class="faq-pane">
<h3 class="md-sub-title">Mon espace client</h3>
<div class="md-faq"><div class="md-item"><div class="md-question">Où trouver mes identifiants ?</div><div class="md-answer"><span class="dashboardLien-texte"></span></div></div></div>
</section>
<section id="pane3" class="faq-pane">
<h3 class="md-sub-title">Ma télécollecte</h3>
<div class="md-faq"><div class="md-item"><div class="md-question">Délai de paiement ?</div><div class="md-answer"><span class="telecollecte2-texte"></span></div></div></div>
</section>
</main>
</div> |
<style>
.faq-link {
display: block;
padding: 15px;
text-decoration: none;
color: #000;
border-radius: 10px;
cursor: pointer;
min-height: 44px; /* Taille recommandée par Apple pour les zones tactiles */
-webkit-tap-highlight-color: transparent;
transition: background 0.3s ease;
}
.faq-link.active { background: #3474FF !important; color: #fff !important; }
/* Correction pour mobile : quand on clique, on veut voir la section */
@media (max-width: 768px) {
.faq-pane { scroll-margin-top: 20px; } /* Ajoute un espace en haut lors du scroll */
}
</style> |
<script>
function showPane(e, id) {
// 1. Empêche le comportement par défaut (saut de page ou navigation)
e.preventDefault();
// 2. Nettoyage : On retire la classe 'active' de TOUS les liens du menu
const tousLesLiens = document.querySelectorAll('.faq-link');
tousLesLiens.forEach(function(lien) {
lien.classList.remove('active');
});
// 3. Application : On ajoute 'active' uniquement sur le lien cliqué
e.currentTarget.classList.add('active');
// 4. Gestion des panneaux (Affichage/Masquage)
const tousLesPanneaux = document.querySelectorAll('.faq-pane');
tousLesPanneaux.forEach(function(pane) {
pane.classList.remove('active');
});
// 5. Affichage du panneau cible
const targetPane = document.getElementById(id);
if (targetPane) {
targetPane.classList.add('active');
// Défilement fluide vers la section sur mobile
targetPane.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
}
</script> |