2010-04-21 6 views
0

Je travaille sur un système de menu où je veux afficher un ul sous forme de liste déroulante lorsque les utilisateurs font un mouseOver sur li dans un autre ul. Je pensais utiliser la position pour définir la position de la liste déroulante (cela ressemble donc à un menu). Ce que je veux, c'est que le coin supérieur gauche du menu déroulant commence au même endroit que le coin inférieur gauche de la liste d'emballage.jquery.position() ne fonctionne pas correctement

Malheureusement, le positionnement échoue de plusieurs façons différentes:

  • Dans Firefox, il semble que sont décalées de la liste déroulante avec environ -100 25 pixels
  • le premier élément de la liste a un autre décalage à gauche côté par rapport aux autres éléments
  • Le décalage dans IE n'est pas le même que dans FF
  • Le positionnement répété dans l'explorateur entraîne des positions différentes à chaque fois.

J'ai créé une page de test où vous pouvez voir les effets: http://test.evju.biz/test/test_position.html

Répondre

0

Nous avons résolu le problème en ne pas utiliser le jquery.ui.position. Voici le code que nous avons fini par utiliser:

$(this).find("ul.subnav").first().css({ 
       left: $(this).position().left + 'px', 
       top: ($(this).position().top + $(this).height()) + 'px' 
      }); 
Questions connexes