Maison  >  Article  >  interface Web  >  Méthode de mise en œuvre simple de l'effet de mouvement élastique dans les compétences javascript_javascript

Méthode de mise en œuvre simple de l'effet de mouvement élastique dans les compétences javascript_javascript

WBOY
WBOYoriginal
2016-05-16 15:20:541444parcourir

L'exemple de cet article décrit la méthode d'implémentation simple de l'effet de mouvement élastique JavaScript. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Principe du mouvement élastique : mouvement d'accélération, mouvement de décélération, mouvement de friction

La capture d'écran de l'effet en cours d'exécution est la suivante :

L'exemple de code est le suivant :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1{ width:100px; height:100px; background:red; position:absolute; left:0; top:50px;}
</style>
<script>
window.onload = function()
{
 var oBtn = document.getElementById('btn1');
 var oDiv = document.getElementById('div1');
 oBtn.onclick = function()
 {
 startMove(oDiv, 300);
 };
};
var iSpeed = 0;
var left = 0;
function startMove(obj, iTarget)
{
 clearInterval(obj.timer);
 obj.timer = setInterval(function(){
 iSpeed += (iTarget - obj.offsetLeft)/5;
 iSpeed *= 0.7;
 left += iSpeed;
 if(Math.abs(iSpeed)<1 && Math.abs(left-iTarget)<1){
  clearInterval(obj.timer);
  obj.style.left = iTarget + 'px';
 }else{
  obj.style.left = obj.offsetLeft + iSpeed + 'px';
 }
 }, 30);
}
</script>
</head>
<body>
<input id="btn1" type="button" value="运动" />
<div id="div1"></div>
<div style="width:1px; height:300px; background:black; position:absolute; top:0; left:300px; "></div>
</body>
</html>

Pour plus de contenu lié aux effets de mouvement JavaScript, veuillez consulter le sujet spécial sur ce site : "Résumé des effets et techniques de mouvement JavaScript"

J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn