Partage
  • Partager sur Facebook
  • Partager sur Twitter

"Easing"

Procédure pour créer un ease out.

Sujet résolu
    2 octobre 2009 à 23:05:49

    Bonsoir amis zéro.
    J'ai cherché sur le forum pour trouver une explication concrète à la procédure à suivre. Mais je n'ai pas trouvé...

    Quelle est la procédure à suivre pour créer un easeout sur le déplacement d'un bloc?

    Exemple avec un code bidon :

    <script type="text/javascript">
    
    var oldMarginValue = null;
    
    function moveLeft(){
    	if(old >= -200){
    		document.getElementById("block2").style.marginLeft = (oldMarginValue - 10) +"px" ;
    		oldMarginValue = oldMarginValue - 10;
    		
                    setTimeout('moveLeft()', 10);
    	}
    	
    }
    </script>
    
    
    <div style="margin-left:200px">
             <img src="onglet_gauche_V2.png" alt="" onclick="moveLeft();" id="block2" style="display:block;"/>
    </div>
    


    Voilà, si quelqu'un pourrait m'expliquer la formule mathématique, la logique pour pouvoir appliquer un easeOut, parce que personnellement ça me dépasse.
    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      2 octobre 2009 à 23:27:50

      ça te dit pas de nous expliquer ce qu'est un easeout? x_x
      • Partager sur Facebook
      • Partager sur Twitter
        3 octobre 2009 à 0:06:16

        Ah oui désolé -____-'

        En fait, c'est un effet qui ralentit au fur et à mesure de l'animation.

        Par exemple, mon bloc va se déplacer de droite à gauche.
        Au début à vitesse normale, mais plus il se rapproche du côté gauche et plus la vitesse va diminuer, jusqu'à l'arrêt du bloc.

        Donc un Ease Out joue sur le déplacement du bloc dans ce cas ci. Vite au début, et lent à la fin.
        Un Ease In c'est le contraire.

        Ca marche pareil pour l'apparition de blocs ou la disparition, un peu comme avec la librairie jquery. ;)
        • Partager sur Facebook
        • Partager sur Twitter
          3 octobre 2009 à 11:04:44

          Bah huuum, moi je prendais la longueur totale du déplacement

          Du dit que le point de départ correspond à 100% Et le point d'arrivé à 0.

          Et au fur et a mesure que tu te deplaces et calcules le poucentage, et tu fais

          var prc = (oldMarginValue / startMargin) + 0.1; // Pour pas tombé a 0 on met un +0.1
          
          Je pense qu'un truc du genre devrait marcher
          oldMarginValue = oldMarginValue - 10*prc;
          



          http://local.tiller.fr/CCM/a.htm
          • Partager sur Facebook
          • Partager sur Twitter
            3 octobre 2009 à 13:40:17

            C'est nickel! Ca marche parfaitement!

            Je te remercie beaucoup, et je vais étudier plus en détail ce code, car j'en ai souvent besoin. Merci de ton aide!
            • Partager sur Facebook
            • Partager sur Twitter

            "Easing"

            × 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