• javascript 小方块平移


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5     <meta charset="UTF-8">
     6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     8     <title>Document</title>
     9 </head>
    10 
    11 <body>
    12     <div class="box" style="100px; height:100px; background-color:red; position:absolute; top: 0; left: 0;">
    13         <!--要移动的小盒子-->
    14     </div>
    15     <button style="position:absolute; top:200px;">
    16         开始
    17     </button>
    18 
    19     <script>
    20         var div = document.getElementsByClassName("box")[0];//选择要移动的盒子
    21         var btn = document.getElementsByTagName("button")[0];
    22       
    23         var timer = null;
    24         btn.onclick = function () {//在按钮上绑定点击事件,点击按钮,盒子开始移动
    25             var speed = 5;
    26             clearInterval(timer);//每次运行的时候,先把上一个定时器给停止了,不然同个时间段会执行多次,会导致速度越来越快
    27 
    28             timer = setInterval(function () {//每次执行都会把唯一标识返回到timer 想要停止就得清除唯一标识
    29 
    30                 div.style.left = div.offsetLeft + speed + "px";
    31                 //获取当前盒子的 left 加上我们设置的速度 加上 px 再赋给 小盒子
    32             }, 50)//每50毫秒执行一次
    33         }
    34 
    35     </script>
    36 </body>
    37 
    38 </html>

    升级版

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5     <meta charset="UTF-8">
     6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     8     <title>Document</title>
     9 </head>
    10 
    11 <body>
    12     <div class="box" style="100px; height:100px; background-color:red; position:absolute; top: 0; left: 1400px;">
    13                                                                                                 <!-- Left设置小盒子在右边 -->
    14     </div>
    15     <button style="position:absolute; top:200px;">
    16         开始
    17     </button>
    18 
    19     <span style="position:absolute; left:700px; top:0; height:100px; 0; border:1px solid black;"></span>
    20 
    21     <script>
    22         var div = document.getElementsByClassName("box")[0];
    23         var btn = document.getElementsByTagName("button")[0]; 
    24         var span = document.getElementsByTagName('span')[0];
    25         var timer = null; //定时器的唯一标识
    26         btn.onclick = function () {
    27 
    28            UniformMotion(div, 700)
    29         }
    30 
    31 
    32         function UniformMotion(dom , target){ //第一个参数,要运动的dom,第二个要停止的位置
    33             var speed = target - dom.offsetLeft > 0 ? 7 : -7; //判断要运动的盒子在左边还是在右边
    34 
    35             timer = setInterval(function () { 
    36                 if (Math.abs(target - dom.offsetLeft) < Math.abs(speed)) { 
    37                     clearInterval(timer);
    38                     dom.style.left = target + "px";
    39                 }else{
    40                     dom.style.left = dom.offsetLeft + speed + "px";
    41                 }
    42                 
    43             }, 50)
    44         }
    45     </script>
    46 </body>
    47 
    48 </html>

     

  • 相关阅读:
    C++多态性的总结
    php 基于curl 实现,模拟多线程任务
    php 解决跨域问题
    vue-cli 使用步骤
    php 图片转成base64 前后台示例
    jq 实现选项卡效果
    javascript仿es6的map类
    PHP生成word并可下载
    vue 实现的树形菜单
    vue之路由的基本用法
  • 原文地址:https://www.cnblogs.com/yanggeng/p/10553937.html
Copyright © 2020-2023  润新知