11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour @ tous

donc, pour commencer je me présente : Auze - Galérien Smiley lol

Ceci étant fait (Je reviendrai sur ma vie un poil plus tard Smiley confused ), J'ai un petit soucis de selecteur avec Jquery.

Sans plus attendre voici le code :

absylonia.pastebin.com

La Partie du code qui me pose un soucis est celle-ci :


		<div class="MenuHaut">
			
			<!-- Le Script ci-dessous permet de gérer le menu du haut.
			 	 Il est pratiquement identique au script des sous-menus. -->
			<script type="text/javascript">
				
				/* $(".MenuHaut li.SpanLien span").each( function(){
					var span = $(this).text();
					$(this).replaceWith('<a href="#">' + span + '<\/a>');
				}); */
					
				$("div.MenuHautul.li a").click( function() 
				{
						
					var span = $(this).text();
						
					switch(span){
						case 'Home':
						{
							$('.Corps').fadeOut("slow", function() {
							$('.Corps').load('home/home.html').fadeIn("slow");
							});
							break;
						}
						default:
						{
							$('.Corps').load('home/home.html').fadeIn("slow");
						}
					};
				});
			</script>
			
			<ul class="SpanLien">
				<li style="padding: 2px 20px;">Financial ECM</li> <!-- Style special car pas de lien -->
				<li><a href="#">Home</a></li>
				<li><span>Documents Services</span></li>
				<li><span>Monitoring</span></li>
				<li><span>Support</span></li>
			</ul>
		</div>


(Ce n'est pas très très propre, mais il y a eu quelques tests Smiley biggol )

Je cherche à sélectionner les <a> (ou <span>) de chaque pour inclure une page vec un petit effet trop fort (Web 2.0 quoi ...)

J'avais chopper l'astuce sur un des tuto (Menu accordéon il me semble)

Je n'arrive pourtant pas à trouver le bon sélecteur pour ce que je souhaite faire. C'est peut-être un erreur "à la con" mais j'ai le nez dans le code depuis pas mal de jour, peut-être qu'un œil neuf trouvera immédiatement.

Voili, voilou. Merci @ tous Smiley cligne
Modifié par Auze (23 Jul 2008 - 14:37)
Hello,

Je pense que l'erreur se situe ici
$("div.MenuHautul.li a")

Il manque un espace et il y a un point en trop,
$("div.MenuHaut ul li a")
marchera beaucoup mieux Smiley cligne

Edit : Oh et n'oublie pas un return false; à la fin de ta fonction de click pour éviter que le navigateur ne suive le lien.
Modifié par Tymlis (22 Jul 2008 - 18:14)
Re,

merci pour ta réponse.

J'ai tenté le :


$("div.MenuHaut ul li a").click ....


Mais toujours rien, je clique sur le lien et rien ne se passe ... même pas une petite erreur dans Firebug et webdevelopper toolbar.

J'en présume donc que la syntaxe est bonne mais que le selecteur ne fonctionne pas Smiley decu

il me semble même que le "div" n'est pas obligatoire car explicite (je travaille sur une classe et elle est censé être présente qu'une seule fois)

J'ai aussi testé un truc du genre :


$(".MenuHaut li([i]ou ul[/i]).SpanLien span ([i]ou a[/i])").click


Mais je n'ai rien non plus ...

Je creuse toujours de mon côté, je posterai la solution si je trouve ...

Auze Smiley cligne

PS: Merci, j'avais oublié le "return false" Smiley lol
Modifié par Auze (22 Jul 2008 - 19:19)
Et si tu mettais plutot ton code javascript après le menu ? Smiley cligne Au moment où le code est executé, ton menu n'est pas dans la page, jQuery ne le trouve donc pas et n'attribue pas ton click.

Mieux encore, mets le dans un $(document).ready(function() { [...] });
Correct !

J'ai fait exactement ça ! Smiley lol

ça m'a paru bizarre quand même, mais oui c'était bien ça !

Maintenant tout est nickel !


Merci bieng Smiley cligne