Pages :
(reprise du message précédent)

Ça avait l'air de la solution idéale, mais pareil, les sous-menus ne s'ouvrent pas.
les sous-menus ne s'ouvrent pas, mais la ou il y a des sous-menus, ca te redirige vers le lien ou pas ?
$("li.toggleSubMenu, li.toggleSubMenu2").each(function(){
$(this, this.next("a")).click(
if($(this).has("ul")){
    function() {
//reste du développement et rétractation des menus
return false
}
}
else {
//reste du traitement
}
});


Je me creuse les méninges et je retourne ça comme je peux, mais je commence à fatiguer et a être a cours d'idées
Modifié par Naemesis (22 May 2012 - 16:21)
@naemesis je ne suis pas certain que la syntaxe avec .has() soit efficace comme ça.

En reprenant mon apporche de depart je verrai le truc plutôt comme ça pour la tester :

$("li.toggleSubMenu:has('ul')  , li.toggleSubMenu2:has('ul') ").each(function(){

   $(this).click(function() {alert('clique controler');return false;} );

});


Maintenant faut aussi que la structure html soit coherente avec ce que l'on cible.

@BenMalia Sans avoir la page en ligne, ça serait quand même bien d'avoir la structure (ou les structures possible) qu'il faut cibler.

un ou des extrait html de ce à quoi ça ressemble concretement est impératif, sinon on avance a rien, me semble t-il .
cordialement,
GC
Le .has renvoie, me semble-t-il la même chose que le :has().

Et effectivement un extrait du code html renvoyé par le PHP serait le bien venu
non pas vraiment, .has() est une fonction qu'il faut traiter, et :has() est un selecteur.
Enfin, c'est comme ça que je les diffères.
J'ai déjà testé cette option, je cherche en même temps.
Apparemment il ne rentre pas dans le if
Je pense qu'à ce niveau là, il vaut mieux arrêter.
avec le selecteur :has(), il n'y a pas a faire de if, vu que le filtre est deja appliqué, contrairement a la fonction .has()
a écrit :
un ou des extrait html de ce à quoi ça ressemble concretement est impératif, sinon on avance a rien, me semble t-il .
cordialement,
GC


Tout est dans le premier post, les scripts, ainsi que la structure avec les deux boucles imbriquées
Cordialement.
@gc-nomade : je comprends mieux.

@BenMalia : on aimerait un bout de html et pas les boucles php, pour voir sur quoi on doit réellement travailler
Je n'ai pas de html, ce qui pourrait être en html se trouve dans les echo,
sinon je peux toujours faire un screen pour vous montrer à quoi ça ressemble.
<edit : grillé/>
okay, mais ça c'est le code php ,
ce que l'on souhaite voir et analyser, c'est le code html produit et traiter depuis ton navigateur : pour le voir dans firefox c'est clique droit => afficher code source de la page.


pour .has() et :has() , le plus simple est de se referrer a la doc de jQuery :
:has() : http://api.jquery.com/has-selector/
.has() : http://api.jquery.com/has/

cordialement,
Modifié par gc-nomade (22 May 2012 - 16:38)
Firefox ne le montre pas
Voici ce que génère Chrome:

 <ul class='navigation'>

 <li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=4'> Accueil </a><ul style='display: none;' class='subMenu'></ul></li><li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=5'> Nos Produits </a><ul style='display: none;' class='subMenu'><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=10'> Cam </a><ul style='display: none;' class='subMenu2'><li><a href='produits.php?page=23'> Mac Mini </a></li><li><a href='produits.php?page=24'> iMac </a></li><li><a href='produits.php?page=25'> Mac Pro </a></li><li><a href='produits.php?page=26'> Macbook Pro </a></li><li><a href='produits.php?page=27'> Macbook Air </a></li></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=11'> iPod </a><ul style='display: none;' class='subMenu2'><li><a href='produits.php?page=28'> iPod Shuffle </a></li><li><a href='produits.php?page=29'> iPod Nano </a></li><li><a href='produits.php?page=30'> iPod Classic </a></li><li><a href='produits.php?page=31'> iPod Touch </a></li></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=12'> iPad </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=13'> Accessoires </a><ul style='display: none;' class='subMenu2'><li><a href='produits.php?page=32'> Accessoires iPod </a></li><li><a href='produits.php?page=33'> Accessoires iPad </a></li><li><a href='produits.php?page=35'> Accessoires Mac </a></li></ul></li></ul></li><li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=6'> Services </a><ul style='display: none;' class='subMenu'><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=14'> D&eacutel&eacutegation du personnel </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=15'> Formations </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=16'> Installation et Param&eacutetrage </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=17'> Livraison </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=18'> Location </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=19'> Maintenance </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=20'> R&eacuteparation </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=21'> R&eacutecup&eacuteration des donn&eacutees </a><ul style='display: none;' class='subMenu2'></ul></li><li style='position: static;' class='toggleSubMenu2'><a href='redirection.php?page=22'> Audits et Conseils </a><ul style='display: none;' class='subMenu2'></ul></li></ul></li><li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=7'> Nos Partenaires </a><ul style='display: none;' class='subMenu'></ul></li><li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=8'> Stores </a><ul style='display: none;' class='subMenu'></ul></li><li style='position: static;' class='toggleSubMenu'><a href='redirection.php?page=9'> Contact </a><ul style='display: none;' class='subMenu'></ul></li></ul>


Désolé pour l'indentation, c'est Chrome.
oups,

voilou ce qui ne vas pas :
<ul style='display: none;' class='subMenu'></ul>


Ton code php renvoi un <ul> inutile et vide quand tu n'as pas de sous menu.

Quelque soit la méthode de filtrage pour repérer les liens esseulé, ça ne marchera pas Smiley smile
Modifié par gc-nomade (22 May 2012 - 17:22)
Pages :