面试题答案
一键面试animate函数适用场景
- 元素显示与隐藏动画:比如淡入淡出效果,在页面加载元素时逐渐显示,或者在元素移除时逐渐消失。
- 位置与尺寸变化动画:例如元素的平移、缩放等。当用户点击某个按钮,元素从一个位置移动到另一个位置,或者元素大小发生改变。
- 颜色过渡动画:在状态变化时,元素颜色逐渐过渡到新的颜色,增强用户交互体验。
示例代码
<script>
import {animate} from 'svelte/animate';
let value = 0;
const start = { x: 0 };
const end = { x: 200 };
const duration = 1000;
const easing = 'ease-in-out';
const onComplete = () => {
console.log('动画完成');
};
const animation = animate(
value,
start,
end,
duration,
{easing, onComplete}
);
</script>
<button on:click={() => animation.start()}>开始动画</button>
<div style="transform: translateX({$animation.x}px)">移动的方块</div>
上述代码实现了一个简单的平移动画。点击按钮时,animate
函数控制value
从起始状态start
过渡到结束状态end
,在1000毫秒内完成,使用ease-in-out
缓动函数,动画完成时会在控制台打印信息。通过$animation.x
获取动画过程中的x
值,应用到div
元素的transform
属性上,实现方块的平移效果。