jquery/javascript: liste déroulante au mauvais endroit

J'ai eu de l'aide plus tôt pour le placement de ma boîte de jQuery, mais ce n'était pas universel et je ne le comprends pas bien. Le code déplace ma liste déroulante pour se développer vers la droite. Toutefois, maintenant que j'ai modifié la position des liens, la boîte ne s'aligne plus correctement. Voici le nouveau code:

$('.menu ul li:has("ul")').each(function(){
   var nameWidth = $(this).outerWidth(),
       dropdownWidth = $(this).find('ul').width(),
       change = (dropdownWidth - nameWidth) - 10;
    $(this).find('ul').css('left', change+'px');

Here's my entire code http://jsfiddle.net/rKaPN/30/

0

1 Réponses

Dans votre css, vous pouvez modifier les éléments suivants:

.menu ul li ul{
   position:absolute;
   right: 0px; //Add this  
  //Rest of your css
}

Il alignera la liste déroulante sur la droite, exactement comme vous l’aviez précédemment sur la gauche, sans utiliser chacune des boucles que vous avez décrites. Cependant, votre boucle devient également fonctionnelle lorsque vous définissez simplement la propriété left:

.menu ul li ul{
    position:absolute;
    left: 0px; //Add this  
   //Rest of your css
}
1
ajouté