Partage
  • Partager sur Facebook
  • Partager sur Twitter

opacité et boucle

    17 décembre 2005 à 12:53:29

    Bonjour, je viens de faire un petit script qui m'aide dans un projet, le script permet d'afficher du texte dans une div, quand l'utilisateur passe sur un lien, puis lorsque l'utilisateur retire la souris du lien, 3 seconde après, l'opacité de la div devrait descendre jusqu'a zéro et pui supprimer ce qu'il y a dans la div :)

    Je vous donne le code :
    var divname;
    var mytext;
    var opac;
    var myobj = document.getElementById("cadre");
    var myobjie = document.all["cadre"];

    function show_name(mytext) {
      if (document.getElementById) {
        myobj.innerHTML = mytext;
      } if (document.all) {
        myobjie.innerHTML = mytext;
      }
    }
    function hide_name() {
      if (document.getElementById) {
        for (opac = 100; opac >= 0; opac--) {
          myobj.style.opacity = opac;
        }         
        myobj.innerHTML = "";
        myobj.style.opacity = 100;
      } if (document.all) {
        for (opac = 100; opac >= 0; opac--) {
          myobj.style.filter = 'alpha(opacity=' + opac + ')';
        }   
        myobjie.innerHTML = mytext;
        myobj.style.filter = 'alpha(opacity=100)';
      }
    }


    Et la div et le lien en Xhtml :


    <div class="affiche">
      <p>Anniversaire : </p>
      <div id="cadre"></div>
    </div>

    <a onmouseover="show_name('Montexte');" onmouseout="setTimeout('hide_name()', 3000);" href="#">Lien</a>


    Merci d'avance de votre aide :D
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2005 à 14:30:15

      Il manque juste un clearinterval et ça devrais marcher :)

      var divname;
      var mytext;
      var opac;
      var myobj = document.getElementById("cadre");
      var myobjie = document.all["cadre"];

      function show_name(mytext) {
        if (document.getElementById) {
          myobj.innerHTML = mytext;
        } if (document.all) {
          myobjie.innerHTML = mytext;
        }
      }
      function hide_name() {
        if (document.getElementById) {
          for (opac = 100; opac >= 0; opac--) {
            myobj.style.opacity = opac;
          }         
          myobj.innerHTML = "";
          myobj.style.opacity = 100;
        } if (document.all) {
          for (opac = 100; opac >= 0; opac--) {
            myobj.style.filter = 'alpha(opacity=' + opac + ')';
          }   
          myobjie.innerHTML = mytext;
          myobj.style.filter = 'alpha(opacity=100)';
          clearInterval(timer);
        }
      }


      <div class="affiche">
        <p>Anniversaire : </p>
        <div id="cadre"></div>
      </div>
      <a onmouseover="show_name('Montexte');" onmouseout="timer=setTimeout('hide_name()', 3000);" href="#">Lien</a>


      Je vois pas où est le problème...
      Qu'est ce qu'il amrche pas, pourquoi tu as besoin d'aide ?



      Bisous, Nyu
      • Partager sur Facebook
      • Partager sur Twitter
        18 décembre 2005 à 15:52:17

        var divname;
        var mytext;
        var opac;

        function show_name(mytext) {
          document.getElementById("cadre").innerHTML = mytext;
        }
        function hide_name() {
          //for (opac = 100; opac >= 0; opac--) {
          //    document.getElementById("cadre&quot;).style.opacity = opac;
          //    document.getElementById("cadre&quot;).style.filter = 'alpha(opacity=' + opac + ')';
          //}         
          //document.getElementById("cadre&quot;).innerHTML = "";
          //document.getElementById("cadre&quot;).style.opacity = 100;
          //document.getElementById("cadre&quot;).style.filter = 'alpha(opacity=100)';
          document.getElementById("cadre").style.opacity = 50;
          document.getElementById("cadre").style.filter = 'alpha(opacity=50)';
          clearInterval(timer);
        }


        Voilà, j'ai simplifier mon code pour essayé de voir ou provenir l'erreur, et ce code si arrive à m'afficher le texte quand je survole le lien, et ici au bout des 3 seconde du SetTimeOut il ne se passe rien, alors que l'opacité devrait avoir baissé de 50% ...

        Donc ca doit venir de là...

        Une idée
        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2005 à 14:32:42

          Je me permet de uppé (bien que cela soit la première fois :/)

          Ca fait bientôt 24h que j'attend une réponse :euh:

          Mais bon, personne ne sais m'aider ?

          Merci d'avance :)
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2005 à 12:01:41

            Ben tout ce que je peux te dire c'est que l'opacicité ne marche qu'avec ie (et oui) donc si tu testes avec firefox ou opéra et que ça marche aps, normale :)
            Sinon, ton script devrait normalement marcher :D


            Bisous, Nyu
            • Partager sur Facebook
            • Partager sur Twitter

            opacité et boucle

            × 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