【问题标题】:JavaScript / CSS - How can I start an animation, creating new Divs from cursor position?JavaScript / CSS - 如何启动动画,从光标位置创建新的 Div?
【发布时间】:2018-08-04 23:22:23
【问题描述】:

我需要从我点击从左到右移动的页面的位置创建 Div。有没有办法不断改变我可以开始动画的位置?而不是有一个固定的左边和一个固定的右边?我在 CSS 中使用关键帧。

【问题讨论】:

    标签: javascript css animation onclick


    【解决方案1】:

    请试试这个:

    HTML

    <div class="container">
      <div class="startleft">
        <div class="box">
        </div>
        <div class="box">
        </div>
    </div>
    </div>
    

    CSS

    .container {
      width:100%;
      height:100vh;
    }
    .box {
      margin: 5px;
      width:30px;
      height:30px;
      background-color:blue;
    }
    

    JS

    var container = document.getElementsByClassName("container")[0];
    container.onclick = function(e) {
      console.log("startleft");
    
      var offset = e.offsetX; 
      var startleft = document.getElementsByClassName("startleft")[0];
      startleft.setAttribute("style", "padding-left:"+ offset + "px");
    };
    

    codepen:https://codepen.io/YasirKamdar/pen/aqaMpj

    这将设置偏移量开始,您可以使用收到的偏移量值任意使用动画

    【讨论】:

    • 是否可以使用“普通”java 脚本而不是 Jquery 来获得相同的代码?谢谢!
    • 完成,请查看上方
    【解决方案2】:

    html代码

    <div class="move-me move-me-1">steps(4, end)</div>
    <br>
    <div class="move-me move-me-2">steps(4, start)</div>
    <br>
    <div class="move-me move-me-3">no steps</div>
    

    scss 代码:

    .move-me {
      display: inline-block;
      padding: 20px;
      color: white;
      position: relative;
      margin: 0 0 10px 0;
    }
    .move-me-1 {
      animation: move-in-steps 8s steps(4) infinite;
    }
    .move-me-2 {
      animation: move-in-steps 8s steps(4, start) infinite;
    }
    .move-me-3 {
      animation: move-in-steps 8s infinite;
    }
    
    body {
      padding: 20px;
    }
    
    @keyframes move-in-steps {
      0% {
        left: 0;
        background: blue;
      }
      100% {
        left: 100%;
        background: red;
      }
    }
    

    这个链接帮助This link try it

    谢谢

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多