Petite aide facile javascript
Résolu
Winterboard
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
Winterboard Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Winterboard Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
jaimerai savoir comment ecrire une foction qui fait le suivant:
lors d'un clic sur nimporte quel balise <a> le class de la balise body change.
es ce possible??
merci
jaimerai savoir comment ecrire une foction qui fait le suivant:
lors d'un clic sur nimporte quel balise <a> le class de la balise body change.
es ce possible??
merci
A voir également:
- Petite aide facile javascript
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Telecharger javascript - Télécharger - Langages
- Petite croix snap - Forum Snapchat
- Savoir si je suis bloqué par une personne sur snap chat ✓ - Forum Snapchat
- Javascript arrondi ✓ - Forum Javascript
30 réponses
groarh ca ne marche pas :_-(
sait tu peut etre quel peut etre le probleme???? l"erreur c'est ca:
SyntaxError: Parse Error (line25)
ligne 25 c'est a dire: var collection1 = ....
merci beacoup
sait tu peut etre quel peut etre le probleme???? l"erreur c'est ca:
SyntaxError: Parse Error (line25)
ligne 25 c'est a dire: var collection1 = ....
merci beacoup
:· sais pas... faute de frappe ?
Ou alors ton navigateur ne prend pas en charge un niveau suffisant de DOM (je crois qu'il faut le niveau 2).
Essaye ce test dans ta console de débuggage :
Ou alors ton navigateur ne prend pas en charge un niveau suffisant de DOM (je crois qu'il faut le niveau 2).
Essaye ce test dans ta console de débuggage :
document.implementation.hasFeature('Core', '2.0')
enfait le code etait mal encodé et avait des caracteres cachées. Voici mon code propre:
Il y a encore une erreur mais cette fois ca viens d'une balise non terminée. Il manque un }
Je ne sais pas ou le placer :p. Il donne lerreur sur la dernierre ligne c-a-d: addlistener(window...
Merci pour tout ton aide.
function slide() { function addListener(o, e, f) { if (o.addEventListener) { o.addEventListener(e, f, false); } else { o.attachEvent("on" + e, f); } } function changeClass1() { document.getElementById("content").className = "slidedone"; document.getElementById("footer").className = "slidedone"; document.getElementById("list").className = "slidedone"; } function changeClass2() { document.getElementById("content").className = "slidedone2"; document.getElementById("footer").className = "slidedone2"; document.getElementById("list").className = "slidedone2"; } function bindAnchors() { var collection1 = document.getElementById("topmenu").getElementsByTagName("a"); var collection2 = document.getElementById("content").getElementsByTagName("a"); var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a"); var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a"); for (i = 0; i <= collection1.length - 1; ++i) { var lien = collection1.item(i); addListener(lien, "click", changeClass2); } for (i = 0; i <= collection2.length - 1; ++i) { var lien = collection2.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection3.length - 1; ++i) { var lien = collection3.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection4.length - 1; ++i) { var lien = collection4.item(i); addListener(lien, "click", changeClass1); } } addListener(window, "load", bindAnchors);
Il y a encore une erreur mais cette fois ca viens d'une balise non terminée. Il manque un }
Je ne sais pas ou le placer :p. Il donne lerreur sur la dernierre ligne c-a-d: addlistener(window...
Merci pour tout ton aide.
Fais des indentations, tu y verras beaucoup plus clair :
Mais si tu laisses ça comme c'est, au chargement de la page, le navigateur va voir ça comme ça :
" Il y a une fonction slide, elle est déclarée, bon ok très bien, y'a des trucs à l'intérieur mais je regardrai quand on me demandera de l'utiliser. "
Donc le addListener qui est dedans, qui est censé s'exécuter au chargement de la page, il passe à la trappe !
Est-ce vraiment nécessaire d'encapsuler tout ce code dans une fonction slide ?
function slide() { function addListener(o, e, f) { if (o.addEventListener) { o.addEventListener(e, f, false); } else { o.attachEvent("on" + e, f); } } function changeClass1() { document.getElementById("content").className = "slidedone"; document.getElementById("footer").className = "slidedone"; document.getElementById("list").className = "slidedone"; } function changeClass2() { document.getElementById("content").className = "slidedone2"; document.getElementById("footer").className = "slidedone2"; document.getElementById("list").className = "slidedone2"; } function bindAnchors() { var collection1 = document.getElementById("topmenu").getElementsByTagName("a"); var collection2 = document.getElementById("content").getElementsByTagName("a"); var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a"); var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a"); for (i = 0; i <= collection1.length - 1; ++i) { var lien = collection1.item(i); addListener(lien, "click", changeClass2); } for (i = 0; i <= collection2.length - 1; ++i) { var lien = collection2.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection3.length - 1; ++i) { var lien = collection3.item(i); addListener(lien, "click", changeClass1); } for (i = 0; i <= collection4.length - 1; ++i) { var lien = collection4.item(i); addListener(lien, "click", changeClass1); } } addListener(window, "load", bindAnchors); }
Mais si tu laisses ça comme c'est, au chargement de la page, le navigateur va voir ça comme ça :
" Il y a une fonction slide, elle est déclarée, bon ok très bien, y'a des trucs à l'intérieur mais je regardrai quand on me demandera de l'utiliser. "
Donc le addListener qui est dedans, qui est censé s'exécuter au chargement de la page, il passe à la trappe !
Est-ce vraiment nécessaire d'encapsuler tout ce code dans une fonction slide ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok les gars ca marche!!!!!!!!!!!!!!!!
mais que si j'enleve les tags du script qui ne sont pas presents sur la page... comme:
Y a til un moyen de dire au navigateur dignorer ces tag s'ils n'existent pas??
merci :)
mais que si j'enleve les tags du script qui ne sont pas presents sur la page... comme:
var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a");
Y a til un moyen de dire au navigateur dignorer ces tag s'ils n'existent pas??
merci :)
Heuh, y'a tout un tas de manières :P
Par exemple, tu peux les retirer "en dur" de ton code quand tu les retires de ta page, en virant tous les bouts de code qui utilisent collection4 ;
Tu peux, pour faire plus "secret", intercepter les erreurs en plaçant le code traitant les liens susceptibles de disparaître dans un bloc try/catch avec le catch vide :
Ou alors, faire un test sur collection4 avant la boucle for correspondante,
etc.
Mais tu peux aussi laisser ça comme c'est : le script génère un avertissement, du style document.getElementById("toprightbutton") has no properties, que les utilisateurs ne voient même pas en général ; puis le script continue. Donc c'est pas très grave.
Par exemple, tu peux les retirer "en dur" de ton code quand tu les retires de ta page, en virant tous les bouts de code qui utilisent collection4 ;
Tu peux, pour faire plus "secret", intercepter les erreurs en plaçant le code traitant les liens susceptibles de disparaître dans un bloc try/catch avec le catch vide :
try { var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a"); for (i = 0; i <= collection4.length - 1; ++i) { var lien = collection4.item(i); addListener(lien, "click", changeClass1); } } catch(e) { }
Ou alors, faire un test sur collection4 avant la boucle for correspondante,
if (collection4) { for (...) { ... } }c'est plus rigoureux ;
etc.
Mais tu peux aussi laisser ça comme c'est : le script génère un avertissement, du style document.getElementById("toprightbutton") has no properties, que les utilisateurs ne voient même pas en général ; puis le script continue. Donc c'est pas très grave.
ca marche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
http://m.iwebkit.net
va voir avec safari! c'est l'effet quand tu clique sur un lien. La page se decalle.
Merci10000 fois :)
http://m.iwebkit.net
va voir avec safari! c'est l'effet quand tu clique sur un lien. La page se decalle.
Merci10000 fois :)