Variable globale, pas globale.
Bonjour
Je suis en train de créer un menu déroulant. Pour cela je crée en début de script une variables globale : var div=document.getElementById("dd");
que je modifie dans diverse fonction avec : div.style.height=taille+"px";
la problème est que ma variable global n'est pas détecté dans mes fonction.
Je n'arrive pas a comprendre pourquoi, qui pourrez me l'expliquer ?
pour que sa fonction je dois déclarer ma variable global dans chaque fonction.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| <style type="text/css">
<!--
#dd {
background-color: #999;
width: 200px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #000;
border-right-color: #000;
border-bottom-color: #000;
border-left-color: #000;
}
-->
</style>
</head>
<body>
<a href="#" title="cliquez ici" onclick="test()">Cliquez ici</a>
<script type="text/javascript">
//var div=document.getElementById("dd");
function test(){
var div=document.getElementById("dd");
alert(div);
var taille=div.style.height;
alert(taille);
if(taille=="0px"){
alert('debut');
derou(0);
}
else if(taille=="400px"){
alert("fin");
enrou(400);
}
}
function derou(taille){
var div=document.getElementById("dd");
if (taille<400){
taille+=2;
div.style.height=taille+"px";
setTimeout(function(){derou(taille)},10);
}
}
function enrou(taille){
var div=document.getElementById("dd");
taille-=2;
div.style.height=taille+"px";
setTimeout(function(){enrou(taille)},10);
}
</script>
<div id="dd" style="height:0px; overflow: hidden">
<ul>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
<li>gdfgdfgdfgdfgfdg</li>
<li>fdsfsdg</li>
</ul>
</div>
<div>
sdfjsfjshfskjhfkjsdfhkjdshfskjdhfkdsjf
</div>
</body> |
merci pour votre aide