Posez votre question Signaler

Changer les propriétés css avec javascript

Porridge - Dernière réponse le 1 nov. 2007 à 14:23
Bonjour,
J'ai un petit souci avec Javascript. C'est un langage que je ne maitrise pas du tout, donc la solution du problème est peut-être toute simple. Bon voilà le problème. J'ai un site web ( http://www.preparer-les-concours.com à voir avec mozilla FF de préférence sinon c'est assez laid) et j'aimerais que l'utilisateur puisse changer le thème de la page en cliquant sur un lien (là où il y a marqué "changer le thème"). En fait g mis un onclick dans ma balise <a> et voilà le code pour ma fonction theme :
(comme c an'avait pas l'air de marcher du tout, je me suis limité à faire une fonction pour changer le theme de ma zone "texte" qui a déjà un style css défini)
function theme(texte)
{
with(document)
{
texte.style.background-color='#808080';
texte.style.color='#451200';
}
}
Voilà, je vois pas ce qui cloche, c'est ultra simple. Aussi, j'ai déjà utilisé le javascript pour afficher une info au survol de certains liens (le menu par exemple) en changeant simplement le style css des cadres d'info, les rendant hidden ou visible au passage de la souris, et le code était similaire à celui que je vous met au dessus.
D'où vient le problème ???
Merci d'avance, je n'y comprend plus rien.
Ah oui et à noter que le fait d'écrire cette fonction après les autres fait que plus aucune de mes fonctions Javascript ne marche. Et dernière précision, mon fichier javascript est indépendant de la page et est appelé par un tag <script> dans le <head>
Lire la suite 

Changer les propriétés css avec javascript »

4 réponses
Réponse
+5
moins plus
Bonsoir

Parmi les opérateurs arithmétiques ont trouve le + mais aussi le - ...

Donc si tu écris

texte.style.background-color tu essais de soustraire color de texte.style.background ;-) Certe JavaScript est tolérant mais qd même
Surtout qu'ensuite tu essais d'affecter une chaîne au résultat du calcul .. Là c'en est trop LOL

Bref et si tu écrivais :

texte.style.backgroundColor = '#808080';   


Ceci dit même comme ça j'ai bien peur que ça ne fonctionne toujours pas !

Personnellement j'écrirais plutôt
function theme(eltId) 
{ 
	var elt = document.getElementById(eltId);
	elt.style.backgroundColor='#808080'; 
	elt.style.color='#451200'; 
} 


Bon faudrait tester que elt est valide ...

Voilà

Ajouter un commentaire
Réponse
+2
moins plus
salut,

si tu veux pouvoir modifier le thème entier, il existe des codes source de style switchers en php et en Javascript.

écrire cette fonction après les autres fait que plus aucune de mes fonctions Javascript ne marche
une erreur JS peut faire planter tout le code de la page.
utilise l'extension FireBug, elle te déminera tout ça !!!
Ajouter un commentaire
Réponse
+0
moins plus
Ok

Merci beaucoup, je vais voir tout ca.
Ajouter un commentaire
Réponse
-2
moins plus
Salut,

J'ai aussi un piètre niveau de php mais je préfère ce langage que Javascript qui me parait être un langage très peu intuitif. Les après-midi que j'ai passé à ne pas comprendre d'où pouvait bien pouvoir venir le problème dans chacune de mes tentatives en Javascript... Bon bref, merci beaucoup à vous tous pour vos réponses rapides, je vais voir ça. Euh sinon j'ai un autre problème que je pensais résoudre en Javascript mais qui pourrait peut-être marcher en utilisant le php. Mais je crois que ca serait un peu hors sujet ici, je vais donc ouvrir un autre post.

A plus
Ajouter un commentaire
Ce document intitulé « Changer les propriétés css avec javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?