2010-10-05 5 views
0

J'ai un problème avec le troisième niveau d'un menu déroulant, qui «dépasse» le bord droit du document fenêtre lorsque vous passez la souris il est parent, vous avez un coup d'oeil ici pour voir ce que je veux dire, si vous placez le curseur « Comptes » -> « Gérer »,Menu déroulant CSS & Jquery: le troisième niveau qui «dépasse» le bord droit de la fenêtre

http://ec-ener.eu/dump/index1.php

Je veux que troisième niveau à « flotter » à son le parent est à gauche quand il "détecte automatiquement" il y a la fin du bord de la fenêtre, donc la disposition serait quelque chose comme ceci,

http://ec-ener.eu/dump/index2.php

J'ai changé la position de ce troisième niveau en mettant une classe manuellement, puis ajustez sa position gauche à gauche: -102%; dans le css. Dans une situation pratique, je ne serai pas en mesure de mettre cette classe manuellement, donc je pense que je dois utiliser Jquery pour m'aider à «auto-détecter» et ensuite ajouter cette classe spécifique pour ajuster la position.

Est-ce possible? Des idées et des conseils s'il vous plaît?

Merci, Lau

Répondre

0

cette aide pourrait?

$("#menu>ul>ul>li").each(function() { 
    pos = $(this).offset(); 
    if(pos.left > $(window).width()+window.pageXOffset-$(this).width()) { 
    pos.left -= $(this).width(); 
    } 
    $(this).offset(pos); 
}); 

ou

$("#menu>ul>ul>li").each(function() { 
    pos = $(this).offset(); 
    if(pos.left > $(window).width()+window.pageXOffset-$(this).width()) { 
    $(this).addClass("overpass"); 
    } 
}); 
+0

Merci beaucoup! cela fonctionne parfaitement avec le code ci-dessus après une modification mineure! :-)) – laukok

+0

De rien! – elektronikLexikon