Javascript 为什么动画类型不变?动漫
我有一个动画对象:Javascript 为什么动画类型不变?动漫,javascript,object,animation,anime.js,Javascript,Object,Animation,Anime.js,我有一个动画对象: anime({ targets: animAttrId, translateY:{ value: [-500,0], duration: 900, easing: 'easeInOutSine' } }); 无论我把哪一个动画放进放松键,
anime({
targets: animAttrId,
translateY:{
value: [-500,0],
duration: 900,
easing: 'easeInOutSine'
}
});
无论我把哪一个动画放进放松键,它总是以恒定的速度移动。。。我也尝试了它,没有将translateY作为对象并擦除值,但动画也没有改变。。。??我做错了什么
感谢您的帮助我已经测试了您的代码,更改代码效果很好。您的变量是否选择了正确的元素?以下是我的html代码示例:
<div class="target-element"></div>
<style>
.target-element {
position: absolute;
width: 200px;
height: 200px;
left: 0%;
top: calc(50% - 100px);
background-color: purple;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
<script>
var animAttrId = document.querySelector('.target-element');
anime({
targets: animAttrId,
translateY: {
value: [-500, 0],
duration: 900,
easing: 'easeOutBack'
}
});
</script>
.目标要素{
位置:绝对位置;
宽度:200px;
高度:200px;
左:0%;
顶部:calc(50%-100px);
背景颜色:紫色;
}
var animAttrId=document.querySelector('.target元素');
动画({
目标:animAttrId,
translateY:{
值:[-500,0],
持续时间:900,
放松:“轻松内地”
}
});
大多数动画可以通过CSS完成,不需要JS库。下面是一个简单的反弹动画
<div class="target-element"></div>
<style>
.target-element {
position: absolute;
width: 200px;
height: 200px;
left: calc(50% - 100px);
top: calc(50% - 100px);
background-color: purple;
animation: myAnimation .5s cubic-bezier(0.83, 1.69, 0.54, 0.8) forwards;
}
@keyframes myAnimation {
0% {
transform: translateY(0%);
}
100% {
transform: translateY(100%);
}
}
</style>
.目标要素{
位置:绝对位置;
宽度:200px;
高度:200px;
左:计算(50%-100px);
顶部:calc(50%-100px);
背景颜色:紫色;
动画:myAnimation.5s立方贝塞尔(0.83,1.69,0.54,0.8)向前;
}
@关键帧myAnimation{
0% {
转化:translateY(0%);
}
100% {
转化:translateY(100%);
}
}
您可以直接在chrome开发工具中使用三次bezier曲线:
真奇怪!如果我改变了宽松,它不会改变吗?但是物体仍然在移动。。它只是以恒定的速度移动。因此,选择确实很有效,可能还有其他一些CSS-order-JS会影响动画。如果你设定一个不同的目标元素会发生什么?这很奇怪,因为如果我只是设定了不放松,那么标准的先快速然后后退总是开始的。我真正搜索的是一个动画,看起来它会从地面上弹起来。你可能可以用纯CSS创建动画。我在答案中加了一个例子。