2.7 KiB
2.7 KiB
id | challengeType | videoUrl | forumTopicId | title |
---|---|---|---|---|
587d78a8367417b2b2512ae7 | 0 | https://scrimba.com/c/cJKvwCM | 301045 | 使用关键字更改动画定时器 |
Description
animation-timing-function
规定动画的速度曲线。速度曲线定义动画从一套 CSS 样式变为另一套所用的时间。如果要描述的动画是一辆车在指定时间内(animation-duration
)从 A 运动到 B,那么 animation-timing-function
表述的就是车在运动中的加速和减速等过程。
已经有了很多预定义的值可以直接使用于大部分场景。比如,默认的值是 ease
,动画以低速开始,然后加快,在结束前变慢。其它常用的值包括 ease-out
,动画以高速开始,以低速结束;ease-in
,动画以低速开始,以高速结束;linear
,动画从头到尾的速度是相同的。
Instructions
ball1
和 ball2
的元素添加 animation-timing-function
,ball1
赋值为 linear
,ball2
赋值为 ease-out
。它们的 animation-duration
都为 2 秒,注意观察它们在开始和结束时的不同。
Tests
tests:
- text: 'id 为 <code>ball1</code> 的元素的 <code>animation-timing-function</code> 属性值应该为 linear。'
testString: const ball1Animation = $('#ball1').css('animation-timing-function').replace(/\s/g, '');assert(ball1Animation == 'linear' || ball1Animation == 'cubic-bezier(0,0,1,1)');
- text: 'id 为 <code>ball2</code> 的元素的 <code>animation-timing-function</code> 属性值应该为 ease-out。'
testString: const ball2Animation = $('#ball2').css('animation-timing-function').replace(/\s/g, ''); assert(ball2Animation == 'ease-out' || ball2Animation == 'cubic-bezier(0,0,0.58,1)');
Challenge Seed
<style>
.balls {
border-radius: 50%;
background: linear-gradient(
35deg,
#ccffff,
#ffcccc
);
position: fixed;
width: 50px;
height: 50px;
margin-top: 50px;
animation-name: bounce;
animation-duration: 2s;
animation-iteration-count: infinite;
}
#ball1 {
left:27%;
}
#ball2 {
left:56%;
}
@keyframes bounce {
0% {
top: 0px;
}
100% {
top: 249px;
}
}
</style>
<div class="balls" id="ball1"></div>
<div class="balls" id="ball2"></div>
Solution
// solution required