| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 28 Jan 2008, 15:44 Sujet du message: du javascript dans un thème |
|
|
Bonjour,
Je souhaites mettre du javascript dans mon thème pour le rendre un peu plus interatif. Le bout de code me sert à faire apparaitre des menus lorsque la souris passe sur un élément.
Voici le code dans l'attribut onmouseover :
| Code: | | javascript:montre('smenu1'); |
Voici le code qui est dans mon fichier javascript.php :
| Code: | echo "<script type=\"text/javascript\">\n"
."<!--\n"
."window.onload=montre;\n"
."function montre(id) {\n"
."var d = document.getElementById(id);\n"
." for (var i = 1; i<=10; i++) {\n"
." if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}\n"
." }\n"
."if (d) {d.style.display='block';}\n"
."}\n"
."//-->\n"
."</script>\n"; |
Pour ne pas rester comme un con devant l'écran sans savoir si ça fonctionne ou pas, j'utilise firebug pour savoir si il y a des erreurs. Et bien ça ne manque pas, j'ai une erreur que je ne comprends pas. La voici :
| Citation: | illegal character
[Break on this error] javascript:montre(\'smenu1\'); |
_________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
stefvar Administrateur


Inscrit le: Jul 06, 2005 Messages: 8157 Localisation: France Corse Ventiseri
|
Posté le: 28 Jan 2008, 15:50 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Le code javascript que tu mets est celui passé à la "moulinette" pour PHP, quel est le code original ?
As tu essayé avec ce dernier ? _________________ Avant de poster, lire la charte du forum, merci. |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 28 Jan 2008, 16:15 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Voici le code original :
| Code: | <script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
//-->
</script> |
_________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
stefvar Administrateur


Inscrit le: Jul 06, 2005 Messages: 8157 Localisation: France Corse Ventiseri
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 28 Jan 2008, 16:28 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Ca ne marche pas plus. Firebug me fournit la même erreur :
| Citation: | illegal character
[Break on this error] javascript:montre(\'smenu1\'); |
_________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
stefvar Administrateur


Inscrit le: Jul 06, 2005 Messages: 8157 Localisation: France Corse Ventiseri
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 28 Jan 2008, 17:38 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Fonctionne pas. Toujours le même message d'erreur de Firebug qui me parle de caractères illégaux. _________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
zikadonfeur Spécialiste


Inscrit le: Aug 21, 2006 Messages: 829 Localisation: La Roche Posay (86)
|
Posté le: 28 Jan 2008, 20:36 Sujet du message: Re : du javascript dans un thème |
|
|
bonjour.
petite question, le script tu l insere ou, dans le header ou dans theme.php.
moi j avais reussi en inserant le code dans le header.php.
Si ca peut aider |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 28 Jan 2008, 23:15 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
J'insères mon script dans le fichier header.html de mon thème car l'attribut onmouseover est celui d'une image spécifique de mon thème. _________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
lolo Bénévole SV


Inscrit le: Jan 06, 2007 Messages: 930 Localisation: La Crau (83)
|
Posté le: 29 Jan 2008, 7:04 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour
Et si a la place des simples quotes tu mettais des doubles le probleme est t-il toujours le meme ?
remplacer ça onMouseOver = montre('smenu1');
par onMouseOver = montre("smenu1"); _________________ http://www.chez-lolo-arcade.net/arcade/index.php |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 29 Jan 2008, 14:47 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Merci lolo, ça commence à venir. Mais bon niveau esthétique du code c'est pas ça. Apparemment, c'était les doubles quotes que je mets aux attributs qui bloquaient. _________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
Bobulum Régulier


Inscrit le: Aug 16, 2005 Messages: 209 Localisation: Liège
|
Posté le: 29 Jan 2008, 18:44 Sujet du message: Re : du javascript dans un thème |
|
|
Salut ,
La librairie prototype couplée à un script du genre scriptacoulos te simplifierait la vie .
http://www.prototypejs.org/
@+ |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 29 Jan 2008, 20:46 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
C'est quoi ?  _________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
Bobulum Régulier


Inscrit le: Aug 16, 2005 Messages: 209 Localisation: Liège
|
Posté le: 29 Jan 2008, 23:00 Sujet du message: Re : du javascript dans un thème |
|
|
Prototype te permet de travailler via des fonctions et des simplifications compatibles avec tous les navigateurs. Par exemple, rien que pour la gestion des événements, il te faut 2 fonctions, car le comportement d'IE et de Gecko sont différents.
Autrement dit, tu peux remplacer le code (+ touts les gestionnaires d'événements) :
| Code: | | onMouseOver="javascript:fonction()" |
Par un code beaucoup plus agréable :
| Code: | | Event.observe('element', 'mouseover', fonction); |
Encore plus pratique, tu peux remplacer :
| Code: | | document.getElementById('element').value |
Par :
Idem pour les requête Ajax, qui en une ligne permettent de remplacer une partie entière de ton site, compatible avec tous les navigateurs, alors qu'en programmant à la main ça prendrait beaucoup plus de temps et de code...
Quand à http://script.aculo.us/ , il permet une manipulation graphique d'élements assez sympa (exemples : http://wiki.script.aculo.us/scriptaculous/show/CombinationEffectsDemo). Scriptacolous est d'ailleurs programmé à partir de Prototype.
Amuse-toi bien .
P.S. : jette aussi un oeil sur http://www.twinhelix.com/ . |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1788
|
Posté le: 30 Jan 2008, 15:10 Sujet du message: Re : du javascript dans un thème |
|
|
Bonjour,
Merci, je vais jetter un oeil. _________________ La liberté, le respect et le partage. Voici vos droits. Ce sont aussi des devoirs... |
|
|
|
| Revenir en haut de page |
|
|