效果:
创建一个小球
<div id="redball"></div>
小球的样式
#redball {
width: 15px;
height: 15px;
background: red;
border-radius: 50%;
position: fixed;
transition: left 1s linear, top 1s ease-in;
}
点击加入
// 点击按钮 抛掷小球
function dianji(evt) {
setNum(num+1)
var $ball = document.getElementById('redball'); //获取小球的dom节点
// 将小球进行归位,移到点击的位置,
$ball.style.zIndex=1
$ball.style.top = evt.clientY + 'px';
$ball.style.left = evt.clientX + 'px';
$ball.style.transition = 'left 0s, top 0s'; //动画
// 小球向下进行抛掷, 设置定时器可以重复点击
setTimeout(() => {
$ball.style.top = window.innerHeight + 'px';
$ball.style.bottom = "20px"
$ball.style.left = '10px';
//css动画 加上cubic-bezier(.35,.8,1,1) 立方贝塞尔曲线 上面有官网链接
$ball.style.transition = 'left 1s cubic-bezier(.35,.8,1,1), top 1s ease-in';
}, 20)
}
PS:曲线弧度可自定义:cubic-bezier.com