Probleme avec une fonction javascript + css

edelendil Messages postés 16 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 février 2009 - 28 févr. 2006 à 18:23
edelendil Messages postés 16 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 février 2009 - 8 mars 2006 à 14:54
Voila, je dois créer un menu déroulant composé de deux tableaux



le premier contient le titre de la rubrique et reste toujours visible

le deuxieme contie les sous rubriques qui ouvrent les pages, il apparait et disparait quand on clic sur le premier tableau.



Le probleme est que j'essaye de mettre en place la fond du premier
tableau de maniere à ce qu'il affiche une image si le menu est déployé
et un autre image si le menu est replié.



Ma fonction javascript bloque alors car je n'arrive pas à faire passer le 2em parametre.



voici le code, sans la feuille de style gerant les rollover du texte



ETABLISSEMENT




test1,

----
test2,

----
test3


<!------------------------ la fonction javascript gerant le menu ---------------->

<script type="text/javascript">

ferme('menu1'); //Pour que le menu soit fermé au lancement



function ferme(nom, titre)

{

if ( document.getElementById(nom).style.display == "block" )

{

document.getElementById(nom).style.display ="none";

}

else

{


document.getElementById(nom).style.display = "block";


}





if (document.getElementById(titre).style.background-image =="url(images/menuin.jpg)";)

{

document.getElementById(titre).style.background-image= "url(images/menuout.jpg");

}

else

{

document.getElementById(titre).style.background-image =="url(images/menuin.jpg)";

{

}



</script>

6 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
1 mars 2006 à 08:09
B
onjour...

les aléas du langage font que l'on déclare

<td onclick= "ferme('menu1', 'titre1')" id=titre1 style=" background-image :url(images/menuin.jpg);">

mais que l'on appele

var imgfond = document.getElementById(titre1)style.backgroundImage;

;0)
0
edelendil Messages postés 16 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 février 2009
2 mars 2006 à 13:17
Visiblement il y a une autre erreur de ma part en plus de cette déclaration.



Le message retourné est "objet attendu" au niveau de la fonction





Merci quand même c'est dejà ca de corrigé ^^
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
2 mars 2006 à 13:25
B
onjour...

un oubli dramatique dans les lignes transmises
var imgfond = document.getElementById('
titre1'

).style.backgroundImage;

;0)
0
edelendil Messages postés 16 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 février 2009
7 mars 2006 à 15:21
Salut



Je ne pense pas que le probleme vienne de là, de toute maniere j'avais bien remarqué la petite erreur de frappe ^^



Serait il possible qu'il y ai un probleme avec la declaration de la
fonction dans le code html, ou qu'il ne veuille pas utiliser deux

getElementById sur deux id differentes dans la même fonction ??



Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 mars 2006 à 15:57
ô traitrise...
//-- Dans ton code ...

if( document.getElementById(titre).style.backgroundImage
"url(images/menuin.jpg)"
; ){ //
; est en trop... => ERREUR

document.getElementById(titre).style.backgroundImage = url( images/menuout.jpg");
}
else{
document.getElementById(titre).style.backgroundImage "url(images/menuin.jpg)"; //
doit être = = > EGALITE
{ est à l'envers...
=> ERREUR


// pour un code plus propre...
var Obj =
document.getElementById(titre).style; // simplifie écriture de la suite

if ( Obj.backgroundImage == "url(images/menuin.jpg)" )
{

Obj.backgroundImage = "url(images/menuout.jpg");

}

else
{

Obj.backgroundImage = "url(images/menuin.jpg)";

}

I'm sorry de ne pas avoir tout percuté du premier coup...

;0)
0
edelendil Messages postés 16 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 février 2009
8 mars 2006 à 14:54
Effectivement c'etait dans le "==" que résidait le probleme, je suis assez honteux de ne pas l'avoir remarqué moi même ^^



Merci beaucoup
0
Rejoignez-nous