• 原生写的回放小效果


    今天闲来写了个小效果,纯js开发效果不是特别难,大概逻辑就是把每次移动的x,y分别存成两个数组里面,点击倒放按钮时候在让元素根据数组里面存的“痕迹”走一遍,实现倒放效果下面是代码;

    <!DOCTYPE html>
    <html lang="zh">
    <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>倒放</title>
    <style type="text/css">
    *{
    padding: 0;
    margin: 0;
    }
    .box{
    200px;
    height: 200px;
    background: #ccc;
    position: absolute;
    }
    </style>
    </head>
    <body>
    <button class="btn">倒放</button>
    <div class="box"></div>
    <script>
    let box=document.querySelector('.box');
    let btn=document.querySelector('.btn');
    var arry=[],arrx=[];//创建两个数组来存储盒子的x和y轴移动过的位置,arrx是来储存x轴位置,arry是储存y轴的
    let i;
    box.onmousedown=function(e){
    arry=[],arrx=[];
    var e=e||event;
    document.onmousemove=function(e){
    var e=e||event;
    arrx.push(e.clientX);//把box移动过的x轴数据添加进数组
    arry.push(e.clientY);//把box移动过的y轴数据添加进数组
    box.style.left=e.clientX-100+'px';
    box.style.top=e.clientY-100+'px';
    }
    }
    document.onmouseup=function(e){
    document.onmousemove=null;//使move事件失效
    }
    // 按钮事件
    btn.onclick=function(){
    // console.log(arrx,arry);
    i=arrx.length;//这里的arrx只是用来获取一个长度,也可以写arry因为两个数组的长度是一样的;
    // 使用定时器改变位置
    setInterval(function(){
    i-=1;//索引,这里的i就是上面i
    box.style.left=arrx[i]-100+'px';
    box.style.top=arry[i]-100+'px';
    },100);
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    Centos5.8 安装 ImageMagick 6.8.9-3
    Centos5.8 安装 Redmine
    Apache配置中的ProxyPass 和 ProxyPassReverse
    Centos5.8 安装SVN并配置HTTP访问
    Centos5.8 安装 MySQL5.6.19
    Centos5.8 安装 PHP5.5 和 memcached
    CentOS RHEL 安装 Tomcat 7
    Centos5.8 iptables管理
    在SecureCRT中使用rz和sz传输文件
    在Mac mini上安装 ESXi 5.5
  • 原文地址:https://www.cnblogs.com/xiaobaio/p/11970986.html
Copyright © 2020-2023  润新知