在 Svelte 中,当某些东西从一种补间状态移动到另一种状态时,我想进一步突出显示该运动,但希望最终处于与之前相同的状态。
使用 svelte 教程中的部分示例:
<script>
const progress = tweened(0, {
duration: 400,
easing: cubicOut
});
</script>
<progress value={$progress}></progress>
<button on:click="{() => progress.set(0.25)}">
25%
</button>
<button on:click="{() => progress.set(0.5)}">
50%
</button>
Run Code Online (Sandbox Code Playgroud)
在 400ms 的持续时间内,我想以不同的颜色显示进度条。所以如果它通常是蓝色的,我希望它在整个 400 毫秒内都是红色的,然后回到原来的颜色。
为此,我只需要知道progress
当前是否是“补间”(抱歉,不确定这里的词是什么)。例如
<progress value={$progress} class:tweening={progress.tweening === true}></progress>
<style>
.tweening {
/* my styles I want to apply while tweening */
}
</style>
Run Code Online (Sandbox Code Playgroud)
这是否可以在不增加大量复杂性的情况下实现(例如,不手动检查 HTML 值是否每隔几毫秒更改一次)?
svelte ×1