web之利用延迟实现复杂动画、animation

文章目录


效果图


html

html 复制代码
<div class="container">
    <div class="ball"></div>
    <input type="range" min="0" max="1" step="0.01" />
</div>

style

css 复制代码
body {
    display: flex;
    justify-content: center;
}

.container {
    margin-top: 30px;
}

.ball {
    --delay: 0s;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #ff0000;
    margin-bottom: 50px;
    animation: move 1s var(--delay) linear forwards paused;
    /* animation-play-state: running; */
    /* animation-play-state: paused; */
}

@keyframes move {
    50% {
        transform: translate(100px) scale(1.5);
    }

    100% {
        transform: translate(200px) scale(1);
    }
}

JavaScript

javascript 复制代码
// js方式实现(不考虑此方案)
// let inp = document.querySelector('input');
// inp.oninput = function () {
//     console.log(inp.value);
// }

// 方式二(配合css实现)
let inp = document.querySelector('input'),
    ball = document.querySelector('.ball'),
    cal = () => ball.style.setProperty('--delay', `-${inp.value}s`);

inp.oninput = cal;
cal();
相关推荐
于慨19 分钟前
Capacitor
前端
该怎么办呢21 分钟前
Source/Core/Event.js
开发语言·javascript·ecmascript·cesium
IT凝冬41 分钟前
liunx 的 centos7 安装ngin
前端
赵锦川42 分钟前
大屏比例缩放
前端·javascript·html
该怎么办呢1 小时前
Source/Core/DeveloperError.js
开发语言·javascript·ecmascript
于慨1 小时前
tauri
java·服务器·前端
贼爱学习的小黄2 小时前
NC BIP参照开发
java·前端·nc
weixin_462901972 小时前
ESP32 LED控制代码解析
javascript
小江的记录本2 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
小张会进步2 小时前
数组:二维数组
java·javascript·算法