11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
avant même de commencer, j'aimerais vous féliciter pour ce site et ce forum vraiment bien géré et surtout avec un design de talent !

Voilà, j'ai suivi le tutoriel Créer un menu “accordéon” avec jQuery, et je suis hebergé par la plateforme de site "over-blog".

Mon niveau est en privilège, donc je peux mettre du javascript.
Cependant, si tout marche à merveille, vous pourrez voir en descendant dans mon site (à droite) que le menu des item 2 & 3 ne sont pas fermé comme prévu...

Je sais d'où cela vient, de la "bibliothèque jQuery" que je ne peux mettre des deux manières proposée :
1. Je n'ai pas accès à l'endroit même où se trouve la page HTML du module (ni à aucun répertoire de FTP)
2. La bibliothèque est composé de trop de caractères ce qui est bloqué par "over-blog"...

J'avais pensé donc à faire un document comme celui-ci :

<script type="text/javascript" src="http://archive-host........"></script>   


Avec donc en "src=""", un fichier qui était hebergé mais apparemment ça ne fonctionne pas, auriez-vous une solution ?

amicalement Smiley bawling
Qu'est-ce qui ne fonctionne pas ? L'utilisation de la balise script dans l'éditeur de code Overblog ou l'hébergement de la librairie jQuery ?

Si c'est la 2ème solution, tu peux utiliser Google Code qui propose les liens vers un grand nombres de librairies javascript. Pour jQuery ça donne :
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
Bonjour,
en effet c'est bien "l'hébergement de la librairie jQuery" qui pose problème
J'ai essayé avec ta technique mais ça ne fonctionne pas non plus...

En gros, voici ce qui s'affiche sans que je ne touche à rien (aucun bouton/item appuyé) :

upload/22984-travians1.jpg
Quand tu regardes ton code dans le navigateur, le ligne d'insertion de la librairie apparaît-elle "normalement" (sans caractères spéciaux...etc) ?
Bonjour,
oui oui, regardez ci-dessous le code extrait des balises <head> & </head>

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></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>


Qu'en pensez-vous ? :S
Pourquoi as-tu des balises de commentaires HTML encadrant ton code jQuery ? o_O
Enfin ça ne devrait pas poser problème mais ça n'a rien à faire là.

Essais de faire un
alert('test');
dans ton code pour voir si ça vient d'un problème d'activation de javascript ou d'ailleurs.

Tu peux aussi essayer d'ajouter
$("body").css("background-color","#FF0000");
après
$(document).ready( function () { 
pour voir si ça vient de jQuery. (ça devrait mettre le fond de ta page en rouge).
Il se met automatiquement pour que le code source différencie le JS du HTML ou autre ^^

Pour la partie "alerte", tout fonctionne la boite de dialogue s'ouvre normalement au refresh des pages et à son ouverture. RAS

Le fond de ma page reste standard avec (
$("body").css("background-color","#FF0000");
) donc ne devient pas rouge. RAS².

Si on prend étape par étape, le seul problème dans ce menu c'est le "déroulement" des items.
Donc vu que le déroulement n'est pas fait en CSS, ça ne peut venir que du CSS...

Apparemment, le code donné (
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
) ne fonctionne pas ou n'est pas reconnu...

Qu'en penses-tu ? Smiley confus