Skip to main content
Svelte基础
介绍
响应
属性Props
逻辑表达式
事件
绑定
Classes和样式
动作Actions
Transitions
Advanced Svelte
Advanced reactivity
Reusing content
Motion
Advanced bindings
Advanced transitions
Context API
Special elements
<script module>
Next steps
Basic SvelteKit
Introduction
Routing
Loading data
Headers and cookies
Shared modules
Forms
API routes
$app/state
Errors and redirects
Advanced SvelteKit
Hooks
Page options
Link options
Advanced routing
Advanced loading
Environment variables
Conclusion

嗨!小主💕恭喜你又进阶啦!现在我们可以玩点动画效果了。大声告诉我,你想不想给Dom元素添加上PPT一样的翻页效果,那种渐进渐出的动画效果? 也就是转场(transition)动画。贴心的Svelte提供了transition指令让添加转场动画So easy! 首先从svelte/transition引入fade, 当然还有其它转场效果,小主稍后可以自行玩。

We can make more appealing user interfaces by gracefully transitioning elements into and out of the DOM. Svelte makes this very easy with the transition directive. First, import the fade function from svelte/transition...

App
<script>
	import { fade } from 'svelte/transition';

	let visible = $state(true);
</script>
<script lang="ts">
	import { fade } from 'svelte/transition';

	let visible = $state(true);
</script>

接下来使用transition指令给<p>添加上fade转场动画:

...then add it to the <p> element:

App
<p transition:fade>
	Fades in and out
</p>

Edit this page on GitHub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
	let visible = $state(true);
</script>
 
<label>
	<input type="checkbox" bind:checked={visible} />
	visible
</label>
 
{#if visible}
	<p>
		Fades in and out
	</p>
{/if}