Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de onload | codeà l'appui

Opérattiiionnnnnn ......... Corectiiiiooooonnnnnn

    9 janvier 2009 à 7:30:03

    Bonjour,
    J'ai un code javascript assez simple (par conséquent que IE ne prend pas en compte mouahahaha**)

    Bref le soucis , c'est que j'ai un setInterval qui n'est pas pris en compte ...

    pourquoi , alors sa je l'ignore, j'ai vraiment drainé tout les tuto du net ! mais pas réponse (compréhensible) trouvé :-°



    var max = 100;
    var min = 0;
    var opacite=min;
    up=true;
    var IsIE=!!document.all;
    var ThePic=document.getElementById("contenu_entete_droit");
     
    function fadePic(){		
    				if (opacite<max && up){opacite+=2;}
    				if (opacite>min && !up){opacite-=0;}
    				if (opacite>=max){up=false;}
    				if (opacite<=min){up=true;}
    	
    IsIE?ThePic.filters[0].opacity=opacite:document.getElementById("contenu_entete_droit").style.opacity=opacite/100;
    }
    setInterval(function(){fadePic();},25);
    
     
    function loadPage(url,IDdiv){
    	if(window.XMLHttpRequest) // FF
    		xhr_object = new XMLHttpRequest();
    	else if(window.ActiveXObject) // IE
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    	else
    		return(false);
    	xhr_object.open("POST", url, false);
    	xhr_object.send(null);
            div = document.getElementById(IDdiv);
            texte = xhr_object.responseText;
    	div.innerHTML = texte;
    }
    
    setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit"); },4000);
    
    
    function apelle() {
    setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit") },4000);
    }
    


    Donc quand je charge ma page le fadePic(); est bien pris en compte !
    Mais lors de l'actualisation avec la fonction apelle(); (qui elle fonctionne bien) => coté fadePic (); c'est le calme total !

    J'appel ma fonction ainsi :



    <div id="contenu_entete_droit" onload="apelle(); fadePic()">
    <p>
    Un contenu top secret
    </p>
    </div>
    


    C'est pourquoi je pense que le faite d'appeller par un onload ma fonction fadePic ne la prend pas en compte car c'est au chargement entier de la page que c'est pris en compte !
    (si vous avez pas compris mon charabia dite moi )

    J'ai voulu assembler mes 2 fonction , mais la terreur c'est pire, mon fadePic n'est même pas pris en compte ni mon apelle(); d'ailleur !

    Merci de vos futurs réponses qui vont m'aider d'avance ! :D


    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2009 à 8:40:36

      1- Est-ce que filters[0].opacity marche ? Oo Y'a pas une histoire d'alpha normalement?

      2- Ensuite:
      if (opacite>min && !up){opacite-=0;}

      Tu soustrait 0 à opacite donc bon

      3- setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit"); },4000);
      function apelle() {
      setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit") },4000);
      }

      Vu que apelle se lance au chargement de la page, t'as 2 setInterval en même temps, donc deux requetes toutes les 4sec

      4- setInterval(function(){fadePic();},25);
      Jamais tu arrête de l'appelle la fonction?
      • Partager sur Facebook
      • Partager sur Twitter
        9 janvier 2009 à 10:06:47

        euh...
        setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit"); },4000);
        

        ça devrait pas être remplacé par
        var qqch=setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit"); },4000);
        

        ?
        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2009 à 17:13:00

          En faite je débute un peu, j'ai ajouté un script opacité trouvé sur devellopez.com !

          Si j'arrete fadePic; elle ne pouura plus jouer son role lors de l'actualisation de la div ! non?
          • Partager sur Facebook
          • Partager sur Twitter
            10 janvier 2009 à 11:25:30

            Sympa ta décrémentation opacite-=0 ^^

            Euh... sinon, t'aurais pas un lien vers la page, pour tester ça ?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              10 janvier 2009 à 12:09:10

              met 'var' devant "up=true;" si up n'a pas été défini ailleur
              • Partager sur Facebook
              • Partager sur Twitter
                10 janvier 2009 à 12:44:06

                seebz : le mot clé var n'est pas obligatoire
                En effet si on l'enlève cela créer simplement un variable globale.
                (Ou du moins de ce que j'ai entendu)

                xavirem02 : on n'est pas obligé de le définir dans une variable
                • Partager sur Facebook
                • Partager sur Twitter
                  10 janvier 2009 à 13:08:51

                  Citation : Zoro-zerO

                  seebz : le mot clé var n'est pas obligatoire
                  En effet si on l'enlève cela créer simplement un variable globale.
                  (Ou du moins de ce que j'ai entendu)

                  xavirem02 : on n'est pas obligé de le définir dans une variable


                  Nan, même pour une variable globale, la première fois que tu l'as défini, il faut mettre le mot clé var, sinon IE est largué (sauf si tu fait window[var] = ...).
                  Le browser test, c'est mal, vaut mieux faire une detection des fonctions spécifiques du genre :
                  if(element.filter)
                  element.filter.opacity = ...
                  else if(element.style.opacity)
                  element.style.opacity = ....
                  Décrémentation qui sert à rien ...
                  setInterval(function(){fadePic();},25);
                  à remplacer par setInterval(fadePic, 25);
                  variable xhr_object non défini quelque part, IE va pas aimer, ainsi que div et texte
                  Et remplace setInterval(function() { loadPage("aleatoire.php","contenu_entete_droit"); },4000);
                  par setInterval(loadPage, 4000, "aleatoire.php", "contenu_entete_droit");
                  Ca devrait deja mieux marcher ;) .
                  • Partager sur Facebook
                  • Partager sur Twitter

                  erreur de onload | codeà l'appui

                  × 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