利用animation的延迟实现复杂动画
阅读数:52 评论数:0
跳转到新版页面分类
html/css/js
正文
1、html
<div class="container">
<div class="ball"></div>
<input type="range" min="0" max="1" step="0.01" />
</div>
2、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);
}
}
3、javascript
let inp = document.querySelector('input'),
ball = document.querySelector('.ball'),
cal = () => ball.style.setProperty('--delay', `-${inp.value}s`);
inp.oninput = cal;
cal();
相关推荐
一、概述
html动画基本可以分为两类:css动画和js动画。css动画只能去做数值类的样式变化,遇到非数据类的变化,比如页面内容的变化,就需要使用js动画。
二、@keyframes
@keyfra
一、动画片段 animation clips
每个animationClip通常保存3D动画对象某个活动的数据。举个例子,假如mesh是一个角色,可能有一个AnimationClip实现步行循
一、概述
实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的
一、概述
在Web应用中,实现动画效果的方法有很多,js中可以通过定时器setTimeout来实现,css3可以使用transition和animation来实现,html5中可以使用canvas,除
一、概述
当关注用户体验,不希望因为一些不重要的任务(如统计上报)导致用户感觉到卡顿的话,就应该考虑使用requestIdleCallback。因为requestIdleCallback回调的执行的前
一、THREE.Mesh
THREE.Mesh 是 Three.js 中的 3D 模型或几何体对象,它将几何数据(geometry)与材质(material)结合在一起,形成可以渲染的 3D 对象。