bonjour,
j'aimerais afficher une div en cliquant sur ouvrir et la cacher en cliquant sur fermer.
Je change pour ça un attribut (pas html) de la div : "etat".
Mon code marche sur tout les navigateur récent mais pas sur ie8 :'(. Je n'arrive pas à trouver le problème.
Je suis en entreprise donc je ne peux pas faire autrement.
Pourriez-vous m'aider svp?
voici le code :
j'ai essayé ça aussi :
mais la div ne s'affiche pas après l'alert.
Modifié par dacer08 (12 Nov 2010 - 10:36)
j'aimerais afficher une div en cliquant sur ouvrir et la cacher en cliquant sur fermer.
Je change pour ça un attribut (pas html) de la div : "etat".
Mon code marche sur tout les navigateur récent mais pas sur ie8 :'(. Je n'arrive pas à trouver le problème.
Je suis en entreprise donc je ne peux pas faire autrement.
Pourriez-vous m'aider svp?
voici le code :
<html>
<head>
<title>Test</title>
<link href="css/index.css" rel="stylesheet" type="text/css">
<script src="js/index.js" language="JavaScript" type="text/javascript"></script>
</head>
<body>
<div id="div_1" etat="ouvert">
<div class="lien" id="lien_div_1" onclick="changer_etat_div_1()">fermer</div>
etat de la div 1 : <span id="s1"></span>
<div class="contenu">
DIV 1 CONTENU
</div>
</div>
</body>
</html>
div[etat="ouvert"] .contenu
{
display: block;
}
div[etat="fermer"] .contenu
{
display: none;
}
var etat_div_1 = true;
function changer_etat_div_1()
{
var text;
var etat;
var old_etat_div_1 = etat_div_1;
var old_text = document.getElementById("lien_div_1").innerHTML;
var old_etat = document.getElementById("div_1").getAttribute("etat");
if (etat_div_1)
{
etat_div_1 = false;
etat = "fermer"
text = "ouvrir";
}
else
{
etat_div_1 = true;
etat = "ouvert";
text = "fermer";
}
document.getElementById("div_1").setAttribute("etat", etat);
document.getElementById("lien_div_1").innerHTML = text;
document.getElementById("s1").innerHTML = document.getElementById("div_1").getAttribute("etat");
}
j'ai essayé ça aussi :
<script language="JavaScript" type="text/javascript">
var oEtat = document.createAttribute("etat");
oEtat.nodeValue = "fermer";
var oDiv = document.getElementById("div_1");
oDiv.setAttributeNode(oEtat);
alert('toto');
oEtat.nodeValue = "ouvert";
oDiv.setAttributeNode(oEtat);
</script>
mais la div ne s'affiche pas après l'alert.
Modifié par dacer08 (12 Nov 2010 - 10:36)