11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous
Je suis en train de réaliser mon premier site : http://clemencepetit.iblogger.org/
Pour le menu de gauche, j'ai repris le tuto d'Alsacreations pour faire un menu accordéon avec jquery. Ça marche très bien.
Or j'ai un problème avec cette page : http://clemencepetit.iblogger.org/photos.html
Comme vous pouvez le voir, le menu se déroule.

Je pense que le problème vient du fait que sur cette page, j'ai une autre fonction jquery (affichage des images avec colorbox)

Que dois-je modifier pour que mon menu fonctionne normalement, comme sur toutes les autres pages ?
merci pour votre aide !

Ci dessous mon code js:

 <script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript"> 
<!-- 
$(document).ready( function () { 
    // On cache les sous-menus : 
    $(".navigation ul.subMenu").hide(); 
    // On sélectionne tous les items de liste portant la classe "toggleSubMenu" 
 
    // et on remplace l'élément span qu'ils contiennent par un lien : 
    $(".navigation li.toggleSubMenu span").each( function () { 
        // On stocke le contenu du span : 
        var TexteSpan = $(this).text(); 
        $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ; 
    } ) ; 
 
    // On modifie l'évènement "click" sur les liens dans les items de liste 
    // qui portent la classe "toggleSubMenu" : 
    $(".navigation li.toggleSubMenu > a").click( function () { 
        // Si le sous-menu était déjà ouvert, on le referme : 
        if ($(this).next("ul.subMenu:visible").length != 0) { 
            $(this).next("ul.subMenu").slideUp("normal"); 
        } 
        // Si le sous-menu est caché, on ferme les autres et on l'affiche : 
        else { 
            $(".navigation ul.subMenu").slideUp("normal"); 
            $(this).next("ul.subMenu").slideDown("normal"); 
        } 
        // On empêche le navigateur de suivre le lien : 
        return false; 
    });     
 
 
} ) ; 

// --> 
</script>

<link type="text/css" media="screen" rel="stylesheet" href="colorbox.css" />
<script type="text/javascript" src="jquery-1.4.2.js"></script> 
<script type="text/javascript" src="colorbox/jquery.colorbox.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("a[rel='gallery']").colorbox();
	
	});
</script>

Modifié par kakibus (05 Jul 2010 - 16:52)
Modérateur
Salut,

Ta page est invalide, d'après le validateur du W3C.

Il faudrait donc que tu commences par valider celle-ci en renseignant les attributs alt mais surtout en fermant correctement les balises ouvertes.

Par ailleurs, tu te sers d'un script basé sur jQuery au sein de ta page photos.html mais le chargement de la bibliothèque effectué juste au-dessus renvoie une page 404. Il faut donc que tu modifies ton code pour t'assurer que jQuery soit bien chargée au préalable.
Modérateur
En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Hello Koala64 et merci pour ces réponses

Désolé pour la mise en forme du mail. C'est corrigé maintenant et je ferai attention dorénavant.

Je regarde ce que me raconte le validateur W3C.
Pourrais tu m'expliquer comment tu as pu constater l'erreur 404 ??

merci encore pour ton aide
Louis
Modérateur
La console de Firebug m'indiquait 2 erreurs, une de syntaxe et une pour une variable indéfinie.

Il m'a donc suffit de tenter d'accéder au fichier jquery.js déclaré dans le code html pour me rendre compte qu'on ne tombait pas sur la librairie mais qu'en lieu et place, une redirection était faite sur une page d'erreur "personnalisée".
Hello !

J'essaye de voir d'où vient l'erreur de syntaxe mais je ne vois pas d'où elle sort.

Je ne connaissais pas cette fonction de Firebug qui permet d'afficher les erreurs
C'est cool, j'ai vu d'où venait le problème : le chemin vers le fichier jquery n'était pas valide

Merci pour tout en tout cas Smiley biggrin