Svelte 代码实现
<script>
let isVisible = false;
const fadeIn = {
duration: 500,
css: t => `opacity: ${t}`
};
function toggleVisibility() {
isVisible = !isVisible;
}
</script>
<button on:click={toggleVisibility}>点击显示/隐藏</button>
{#if isVisible}
<div in:fadeIn>淡入显示的内容</div>
{/if}
关键步骤说明
- 定义状态变量:通过
let isVisible = false;
定义一个布尔变量isVisible
,用于控制div
元素的显示与隐藏。
- 定义动画对象:
const fadeIn = { duration: 500, css: t =>
opacity: ${t} };
创建一个淡入动画对象,其中duration
指定动画时长为500毫秒,css
函数根据动画进度t
(取值范围0 - 1)设置元素的opacity
属性,实现淡入效果。
- 定义切换函数:
function toggleVisibility() { isVisible = !isVisible; }
定义一个函数,用于在按钮点击时切换isVisible
的值,从而控制div
的显示与隐藏。
- 应用动画:在
div
元素上使用in:fadeIn
语法,当isVisible
变为true
时,div
元素将会以定义的淡入动画显示。