web-dev-qa-db-fra.com

Lorsque vous avez un panneau latéral ouvert et que l'utilisateur fait défiler, est-il préférable de le laisser ouvert ou de fermer automatiquement le panneau?

Supposons que vous ayez un menu latéral qui s'ouvre d'un côté après avoir cliqué sur une icône dans un site Web. Ce menu prendrait plus de 40% du port de vue dans le sens horizontal.

Si l'utilisateur fait défiler vers le bas, est-il préférable de laisser l'utilisateur cliquer sur le bouton Fermer ou de masquer/fermer le menu automatiquement?

4
Francis Laclé

De nombreux éléments, tels que les boîtes à lumière, se fermeront si vous détectez un clic à l'extérieur de votre boîte. Une façon simple de le faire: basculer un booléen sur mouseenter et mouseleave puis sur click do if(!InPanel) closePane(); C'est ma principale suggestion.

Je pense qu'en fonction de l'objectif du panneau, l'utilisateur voudra parfois faire défiler la page pour afficher quelque chose tout en modifiant les paramètres du panneau. Surtout si vous avez une sorte de filtre de recherche en direct et des choses comme ça. Si ce n'est pas le cas, je pense que c'est bien de fermer le défilement - mais encore une fois pas si l'utilisateur est à l'intérieur du panneau avec sa souris.

Alors qu'un bouton de fermeture peut être une légère nuisance, si vous en faites un icône de flèche à l'intérieur de la bordure, il passe généralement assez bien pour se développer/se réduire de cette façon.

2
Garet Claborn

Au lieu d'un bouton de fermeture, vous pouvez fournir un bouton d'épingle. De cette façon, vous laissez l'utilisateur dicter si le menu reste visible ou glisse.

La valeur par défaut du menu épinglé ou non épinglé dépendra de l'option qui convient à la majorité des utilisateurs/cas d'utilisation. Par exemple, supposons que votre valeur par défaut soit non épinglé car la plupart des utilisateurs ont besoin d'espace supplémentaire pour afficher le contenu. Si un utilisateur a un cas d'utilisation dans lequel il souhaite voir le menu pendant qu'il défile, il peut l'épingler, sinon il glisse.

1
Franchesca