Переход на Svelte, кажется, закончился слишком рано
Я пытаюсь создать простой переход в Svelte, где у меня есть карточки, которые анимируются при загрузке страницы. Я следовал этому ответу , чтобы заставить его работать правильно
onMount
, так что было нормально. Однако сам переход, кажется, слишком быстро «прыгает» в конец и пропускает несколько последних кадров.
GIF проблемы, работающей на локальном хосте .
Как ни странно, когда я копирую и вставляю тот же код в REPL , визуальная ошибка, кажется, исправлена. Я даже скачал REPL и запустил его локально, но ошибка все еще появляется.
Вот код.
<script>
import { fly } from 'svelte/transition';
import { onMount } from 'svelte';
const contents = [
{
id: 1,
},
{
id: 2,
},
{
id: 3,
},
];
let ready = false;
onMount(() => (ready = true));
</script>
<main>
<div class="topBar" />
<div class="container">
{#if ready}
{#each contents as content, i}
<div
class="transCard"
transition:fly={{ y: 80, duration: 1000, delay: i * 200 }}
/>
{/each}
{/if}
</div>
</main>
<style>
main {
background: white;
width: 100vw;
height: 100vh;
overflow-y: auto;
overflow-x: hidden;
}
.container {
display: flex;
flex-direction: column;
gap: 16px;
padding: 16px;
overflow: hidden;
margin-top: 80px;
}
.topBar {
width: 100vw;
height: 80px;
background: black;
position: fixed;
top: 0;
left: 0;
z-index: 9;
}
.transCard {
width: 100%;
height: 200px;
background: gray;
}
</style>
1 ответ
Сам нашел ответ! Не уверен, почему это исправлено, но для меня изменение
transition
чтобы просто
in
кажется, вылечил визуальный баг.