2010-03-22 10 views
2

J'ai un menu YUI sur la navigation en bas de l'écran qui crée un grand espace blanc au-dessous où la liste d'actions serait rendue si elle est visible ...YUI Menu rendu ci-dessous « pli » sur la première ouverture

sur le premier clic sur le menu rendra dans cet espace blanc ce qui oblige l'utilisateur à faire défiler pour le voir ... au deuxième clic mais il va tirer vers le haut (idéalement) pour que l'utilisateur n'ait pas à faire défiler pour voir le menu .. le deuxième clic tue aussi ce bloc d'espace blanc ...

J'ai trouvé ajouter un style d'affichage: aucun à la div tue l'espace blanc ... mais alors YUI ne met pas l'affichage à bloquer, qui à partir de ce que je compris, il devrait ... alors j'ai écrit une autre meth od qui le ferait manuellement ... mais le même comportement se produit, le menu se rend d'abord sous le pli obligeant l'utilisateur à faire défiler .... 2ème fois ça marche bien ... raison pour laquelle les positions haut/gauche ne sont pas calculées correctement sur le premier clic et je ne peux pas sembler comprendre pourquoi

Répondre

1

OK alors je l'ai fixé en ajoutant simplement un style à la div qui contient le menu avec les attributs suivants ..

position: absolute; 
    left:0px; 
    top:0px; 

De cette façon, il attirera la div dans la partie supérieure gauche de l'écran où sera toujours content et ne créera donc pas d'espace. L'espace était créé étant que YUI utilise la visibilité: caché plutôt que d'affichage: aucun

0

Avez-vous essayé d'utiliser la propriété constraintoviewport pour les options de configuration de menu (le rechercher à YUI.widget.Menu):

(Hérité de YAHOO.widget.Overlay .) Booléen indiquant si le Menu va essayer de rester à l'intérieur des limites de la taille de la fenêtre. Cette propriété est uniquement appliquée lorsque la propriété de configuration "position" est définie sur dynamique et est automatiquement appliquée à tous les sous-menus.

Si vous utilisez YUI.widget.Button, je crois que vous pouvez obtenir une référence à la propriété Overlay de cet objet et mis constraintoviewport à true de cette façon.