ホームページ  >  記事  >  ウェブフロントエンド  >  jsを使用して水平および垂直の動き効果を実現する方法

jsを使用して水平および垂直の動き効果を実現する方法

王林
王林転載
2020-04-08 09:20:473257ブラウズ

jsを使用して水平および垂直の動き効果を実現する方法

水平移動分析:

は、オブジェクトの左マージンの変化として見ることができます。

例: 右に移動すると左マージンがどんどん大きくなり (値は正です)、オブジェクトの左マージンを調整して

左へ移動左マージンが小さくなり、小さくなると (値が正の場合は負になります)、オブジェクトの左マージンを調整して

実際のコードは次のとおりです:

<style>
    *{padding: 0;margin: 0px;}
    #box{width: 100px;height: 100px;border-radius: 50%;background: red;position: absolute;top: 50px;left: 0;}
</style>
<body>
  <button id="btn">向右</button>
  <button id="btn1">向左</button>
  <div id="box"></div>
  <script>
    var box=document.getElementById(&#39;box&#39;);
    //速度
    var index=10;
    //定时器编号
    var b;
    //添加向右点击事件
    document.getElementById(&#39;btn&#39;).onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,index);//每100毫秒执行一次getMove函数
    }
    //添加向左点击事件
    document.getElementById(&#39;btn1&#39;).onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,-index);//每100毫秒执行一次getMove函数
    }
    //box移动位置
    function getMove(index){
      //获取box的左距离
      var a=window.getComputedStyle(box,null).left;
      a=parseInt(a);//转换为数值
      box.style.left=a+index+&#39;px&#39;//计算box的左距离
    }
  </script>
</body>

Vertical動きの分析:

は、オブジェクトの上マージンの変化と見なすことができます。

例: 下に移動すると、上マージンがどんどん大きくなり (値は正です)、オブジェクトの上マージンを調整して次の値を実現できます。

上に移動すると、上が上になることを意味しますマージンがどんどん小さくなる (値は正) 負)、オブジェクトの上部マージンを調整して

実際のコードは次のとおりです:

<style>
    *{padding: 0;margin: 0px;}
    #box{width: 100px;height: 100px;border-radius: 50%;background: red;position: absolute;top: 50px;left: 0;}
</style>
<body>
  <button id="btn">向下</button>
  <button id="btn1">向上</button>
  <div id="box"></div>
  <script>
    var box=document.getElementById(&#39;box&#39;);
    //速度
    var index=10;
    //定时器编号
    var b;
    //添加向下点击事件
    document.getElementById(&#39;btn&#39;).onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,index);//每100毫秒执行一次getMove函数
    }
    //添加向上点击事件
    document.getElementById(&#39;btn1&#39;).onclick=function(){
      clearInterval(b);//清除上一个定时器执行的事件
      b=setInterval(getMove,100,-index);//每100毫秒执行一次getMove函数
    }
    //box移动位置
    function getMove(index){
      //获取box的上距离
      var a=window.getComputedStyle(box,null).top;
      a=parseInt(a);//转换为数值
      box.style.top=a+index+&#39;px&#39;//计算box的上距离
    }
  </script>
</body>

推奨される関連チュートリアル: js チュートリアル

#

以上がjsを使用して水平および垂直の動き効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。