IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Variable globale, pas globale.


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par d�faut 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 : S�lectionner tout - Visualiser dans une fen�tre � part
    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

  2. #2
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par d�faut
    Salut,

    Le chargement de la page se fait de haut en bas. Quand tu d�clares la variable globale document.getElementById("dd") n'existe pas encore.
    Il faut placer le script juste avant </body>.

    Je n'ai pas regard� le reste.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par d�faut
    Sa marche merci beaucoup.

    la solution est d'un b�te en plus .....

    je pens� qu'il charg� le HTML en premier puis le javascript de haut en bas.

    merci beaucoup

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [WD15] Variable globale, pas tout � fait globale
    Par tux59 dans le forum WinDev
    R�ponses: 14
    Dernier message: 16/04/2010, 17h47
  2. Probleme : Variables globales pas accessible
    Par ickylevel dans le forum G�n�ral Python
    R�ponses: 7
    Dernier message: 09/08/2007, 21h26
  3. variables locales ou globales?
    Par molesqualeux dans le forum C
    R�ponses: 20
    Dernier message: 09/11/2005, 23h03
  4. R�ponses: 6
    Dernier message: 14/02/2005, 11h53
  5. variables locales ou globales ???
    Par elvivo dans le forum C
    R�ponses: 13
    Dernier message: 03/07/2002, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo