Partage
  • Partager sur Facebook
  • Partager sur Twitter

Porblème avec setTimout

Sujet résolu
    11 novembre 2010 à 21:04:21

    Bonjour,
    voila j'ai un problème !
    quand je fait :
    setTimeout(document.getElementById('loadForm').style.opacity = "0.1",1000);
    	setTimeout(document.getElementById('loadForm').style.opacity = "0.2",1000);
    	setTimeout(document.getElementById('loadForm').style.opacity = "0.3",1000);
    	setTimeout(document.getElementById('loadForm').style.opacity = "0.4",1000);
    	setTimeout(document.getElementById('loadForm').style.opacity = "0.5",1000);
    	setTimeout(document.getElementById('loadForm').style.opacity = "0.6",1000);
    


    au bout d'une seconde j'ai deja l'élément visible a 0.6 d'opacité !
    pourquoi ca ne prend pas en compte les autres histoire de faire un dégradé.
    • Partager sur Facebook
    • Partager sur Twitter
      11 novembre 2010 à 21:18:46

      Tu as simplement mal compris le principe ;) .
      Tel quel il va lire chaque setTimeout à la suite, conclusion au bout d'une seconde ils vont tous s'exécuter en même temps !

      fais plutôt par exemple :
      function timeOpa(opa){
         document.getElementById('loadForm').style.opacity = opa;
         opa += 0.1;
         if(opa <= 0.6){ 
            setTimeout(function(){ timeOpa(opa); }, 1000);
         }
      }
      
      timeOpa(0.1);
      


      Edit : ou si tu veux le même principe :
      setTimeout(document.getElementById('loadForm').style.opacity = "0.1",1000);
      	setTimeout(document.getElementById('loadForm').style.opacity = "0.2",2000);
      	setTimeout(document.getElementById('loadForm').style.opacity = "0.3",3000);
      	setTimeout(document.getElementById('loadForm').style.opacity = "0.4",4000);
      	setTimeout(document.getElementById('loadForm').style.opacity = "0.5",5000);
      	setTimeout(document.getElementById('loadForm').style.opacity = "0.6",6000);
      
      • Partager sur Facebook
      • Partager sur Twitter
        11 novembre 2010 à 21:22:37

        Ah ok ! merci alors ;)

        EDIT : J'ai une autre question : comment fait-on pour testé si une balise html avec un id existe?
        car si je fait if (document.getElementById(name + "Input")) { } et que ma balise n'existe pas ca plante !
        • Partager sur Facebook
        • Partager sur Twitter
          11 novembre 2010 à 23:30:31

          Normalement ça ne devrait pas planter.
          • Partager sur Facebook
          • Partager sur Twitter
            11 novembre 2010 à 23:49:01

            j'ai un peu modifier mon code mais ca plante encore et je trouve pas la solution :
            j'ai 3 balise dans mon code html (qui peuvent ne pas apparaitre (grace au php))
            <input id="couleur_input" type="hidden" name="color" value="w" /> 
            <input id="taille_input" type="hidden" name="size" value="s" />						
            <input id="sexe_input" type="hidden" name="sexe" value="g" />
            

            et grosso-modo j'ai besoin de récupérer les valeurs de ces input, pour cela j'ai fait :
            if(document.getElementById("taille_input") != null) var idSelectTaille = document.getElementById("taille_input").value; else var idSelectTaille = "0";
            if(document.getElementById("couleur_input") != null) var idSelectCouleur = document.getElementById("couleur_input").value; else var idSelectCouleur = "0";
            if(document.getElementById("sexe_input") != null) var idSelectSexe = document.getElementById("sexe_input").value; else var idSelectSexe = "0";
            



            seulement j'ai toujours la valeur 0 qui sort (alors que j'ai bien mes balises input !
            de plus si je fait if(document.getElementById("couleur_input").value != null) << rajoue de "value"
            ca plante carément et firefox me sort Erreur : document.getElementById("taille_input") is null

            Donc voila je comprend pas :s

            EDIT : j'ai trouvé :x en faite j'avais mi mon code JS dans aucune fonction et vu que le JS se charge avant le html :/
            • Partager sur Facebook
            • Partager sur Twitter

            Porblème avec setTimout

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown