Besoin de votre aide, je suis nulle ^^;;

Besoin de votre aide, je suis nulle ^^;; - HTML/CSS - Programmation

Marsh Posté le 02-12-2004 à 19:14:37    

Je suis complétement désespérée : j'apprend en ce moment le javascript avec le livre de campus press, et voilà qu'un script me résiste : j'y ai passé toute la journée, impossible de voir ce qui ne colle pas ! Il est identique au livre, et pourtant ne fonctionne pas.
Normalement, la page devrait afficher des titres et faire apparaitre du texte en plus en cas de click sur un titre.
Voici le code :  
 
<html>
<head>
<title>texte caché onclick</title>
<script language="JavaScript" type="text/javascript">
<!--
 
function controlAffiche()  
{
var cet_element, element_parent; cet_element=window.event.srcElement.tagName;  
element_parent=window.event.srcElement.parentElement.tagName;
if(cet_element == "h1" && element_parent == "body" )  
{
if(document.all(window.event.srcElement.id + "p" ).style.display == "none" )  
{
document.all(window.event.srcElement.id + "p" ).style.display="";
}
else  
{
document.all(window.event.srcElement.id + "p" ).style.display="none";  
}
}
}
 //-->
</script>
</head>
 
<body onClick="controlAffiche()">
 
<h1 id="titre1">Bonjour !</h1>
<p id="titre1p" style="display:none">Ca fart ?</p>
 
<h1 id="titre2">Hello !</h1>
<p id="titre2p" style="display:none">How are you ?</p>
 
<h1 id="titre3">Ca marche ?</h1>
<p id="titre3p" style="display:none">Il faut croire que oui !</p>
 
</body>
</html>
 
Si quelqu'un peut m'aider ?
Merci de votre patience et désolée de vous embêter avec un truc aussi ridicule ^^

Reply

Marsh Posté le 02-12-2004 à 19:14:37   

Reply

Marsh Posté le 02-12-2004 à 20:50:17    

c'est pas super portable document.all ; il me semble que c'est IE only


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 02-12-2004 à 21:50:21    

Soit, mais ça ne répond pas à ma question ^^

Reply

Marsh Posté le 03-12-2004 à 10:02:25    

ben ça veut dire que si tu ne le testes pas avec IE, ça ne marchera pas :spamafote:


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 03-12-2004 à 10:23:40    

Dante_ a écrit :

j'apprend en ce moment le javascript avec le livre de campus press,


 
Mauvais livre, faut en changer :D
Comme dit plus haut ce n'est pas du "Javascript" mais du "Javascript pour IE", ce qui réduit grandement son intérêt :D

Reply

Marsh Posté le 03-12-2004 à 10:34:25    

Et pis ça parait super compliqué pour ce que c'est censé faire...

Reply

Marsh Posté le 03-12-2004 à 15:04:55    

Oui d'accord, mais vous ne voulez pas répondre à ma question ? Un petit coup de pouce, s'il vous plait, que j'arrête de m'arracher les cheveux !
 
Ps : je l'ai testé sous IE6.

Reply

Marsh Posté le 03-12-2004 à 15:07:43    

mais pourquoi j'y connais rien au javascript moi :/

Reply

Marsh Posté le 03-12-2004 à 15:09:06    

Je ne veux pas être embêtante, c'est juste que je ne suis qu'au début, et j'aimerai vraiment savoir pourquoi ça ne fonctionne pas. C'est tout.
Désolée ^__^

Reply

Marsh Posté le 03-12-2004 à 15:35:03    

Dans un premier temps ce que je peux te dire c que ta fonction controlAffiche() n'est pas appellée  

Reply

Marsh Posté le 03-12-2004 à 15:35:03   

Reply

Marsh Posté le 03-12-2004 à 15:38:03    

fausse alerte elle est appellé en fait

Reply

Marsh Posté le 03-12-2004 à 15:42:43    

Bon j'ai ta reponse , y'a quoi a gagner ?

Reply

Marsh Posté le 03-12-2004 à 15:45:22    

Heu... toute ma reconnaissance ? Une adresse MSN pour aider une nullarde en info lol
Je sais pas ^^

Reply

Marsh Posté le 03-12-2004 à 15:48:25    

( Je sens que ça va être un truc ridiculement facile et que je vais avoir trop honte >< )

Reply

Marsh Posté le 03-12-2004 à 15:50:56    

Ok ça marche (pas exigeant le gars)
En fait c un probleme de casse il faut transformer tes tes de la maniere suivante:
if(cet_element == "h1" && element_parent == "body" )  
en  
if(cet_element == "H1" && element_parent == "BODY" )  
 
De plus je te donne 2 conseilles (gratuit !)
1 - Remplacer les document.all par un document.getElementById("xxx" )  
2 - Jette ton livre ;)

Reply

Marsh Posté le 03-12-2004 à 15:53:39    

Merci ^^ Tu as un MP !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed