Skip to main content
Svelte 基础
介绍
响应式
属性
逻辑
事件
绑定
类和样式
Actions
过渡动画
Svelte 进阶
高级响应性
复用内容
Motion
高级绑定
高级过渡效果
Context API
特殊元素
<script module>
后续步骤
SvelteKit 基础
介绍
路由
加载数据
请求头和 Cookie
共享模块
表单
API 路由
$app/state
错误和重定向
SvelteKit 进阶
钩子函数
页面选项
链接选项
高级路由
高级加载
环境变量
结论

了解过渡何时开始和结束是很有用的。Svelte 会派发事件,你可以像监听其他 DOM 事件一样监听派发事件:

App
<p
	transition:fly={{ y: 200, duration: 2000 }}
	onintrostart={() => status = '入场动画开始'}
	onoutrostart={() => status = '退场动画开始'}
	onintroend={() => status = '入场动画结束'}
	onoutroend={() => status = '退场动画结束'}
>
	飞入飞出
</p>

在 GitHub 编辑此页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
	import { fly } from 'svelte/transition';
 
	let visible = $state(true);
	let status = $state('waiting...');
</script>
 
<p>status: {status}</p>
 
<label>
	<input type="checkbox" bind:checked={visible} />
	visible
</label>
 
{#if visible}
	<p
		transition:fly={{ y: 200, duration: 2000 }}
	>
		Flies in and out
	</p>
{/if}