2010-10-19 4 views
1

J'ai un site où dans la zone d'en-tête supérieure j'ai une liste déroulante qui ne fonctionne que lorsque l'utilisateur passe la souris dessus (http://liquor.com). Mais dans les versions mobiles, j'ai été informé que ce comportement ne fonctionnera pas. Donc, je vais mettre une instruction conditionnelle dans le code et afficher un autre menu déroulant, mais je suis curieux de savoir quel code devrait être utilisé pour une liste déroulante mobile.Code de menu déroulant nécessaire pour les versions Web

Toute aide serait grandement appréciée.

+0

Pas une réponse, mais quelques pensées liées: http://www.cennydd.co.uk/2010/end-hover-abuse-now/ – Quentin

+0

intéressant le ver Twitter peuplé via hovers. dommage que les propriétaires du site Web voulaient effet hover :( – HollerTrain

Répondre

0

Parce que les plates-formes mobiles ne peuvent pas: hover, vous devez lier le menu déroulant pour cliquer sur les événements au lieu.

suivre Fondamentalement cette procédure pour créer un menu déroulant:

  • capture l'événement de clic pour les liens de navigation haut rang (parce que les utilisateurs ne peuvent pas planer)
  • Prévenir par défaut (navigateur chargement nouvelle page)
  • Chargez le sous-menu approprié en fonction du lien top-nav sélectionné.
  • Supprimer le sous-menu quand il perd le focus (utilisateur clique sur la page ou un autre haut-nav-link)
1

je CSS pur (pas de javascript à tous) menus déroulants 2-niveau qui travaillent sur au moins l'iPod touch, l'iPhone et l'iPad.

Tout ce qui était nécessaire était d'ajouter un gestionnaire onclick factice, si

<li><div class="menuheader">Reports</div> 
... </li> 

est devenu

<li><div class="menuheader" onclick="void(0)">Reports</div> 
... </li> 

Cela a été décrit dans l'entrée d'Apple Safari Reference Library pour Making Elements Clickable.