ホームページ >ウェブフロントエンド >jsチュートリアル >javascript_javascriptスキルにおける等速運動の実装方法の分析

javascript_javascriptスキルにおける等速運動の実装方法の分析

WBOY
WBOYオリジナル
2016-05-16 15:21:041252ブラウズ

この記事の例ではJavaScriptによる等速運動の実装方法を説明しています。参考のために皆さんと共有してください。詳細は次のとおりです:

等速運動のステップ:

1. タイマーをクリアします
2. タイマーを開始します
3. エクササイズが完了したかどうか: a. エクササイズが完了した場合は、タイマーをクリアします。 b. エクササイズが完了していない場合は、続行します。

等速運動を停止する条件: 距離が十分に近い Math.abs (コース距離 - ターゲット距離)

実行中のエフェクトのスクリーンショットは次のとおりです:

等速モーション(単純モーション) divの例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript匀速运动</title>
<style>
#div1{ width:100px; height:100px; background:red; position:absolute; top:50px; left:500px;}
span{ width:1px; height:300px; background:black; position:absolute; left:300px; top:0; display:block;}
</style>
<script>
window.onload = function()
{
 var oBtn = document.getElementById('btn1');
 var oDiv = document.getElementById('div1');
 oBtn.onclick = function()
 {
  startMove(oDiv, 300);
 };
};
var timer = null;
function startMove(obj, iTarget)
{
 clearInterval(timer);
 timer = setInterval(function(){
  var iSpeed = 0;
  if(obj.offsetLeft < iTarget)
  {
   iSpeed = 7;
  }
  else
  {
   iSpeed = -7;
  }
  if( Math.abs( obj.offsetLeft - iTarget ) < 7 )
  {
   clearInterval(timer);
   obj.style.left = iTarget + 'px';
  }
  else
  {
   obj.style.left = obj.offsetLeft + iSpeed + 'px';
  }
 }, 30);
}
</script>
</head>
<body>
<button id="btn1">移动</button>
<div id="div1"></div>
<span></span>
</body>
</html>

JavaScript モーション エフェクトに関連するその他のコンテンツについては、このサイトの特別トピック「

JavaScript モーション エフェクトとテクニックの概要 を参照してください。

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。