mirror of
https://github.com/sveltejs/svelte.git
synced 2024-12-01 17:30:59 +01:00
993b40201c
* New FAQ, new renderer * Push blog stuff * Fix blog posts * Add tutorial to be rendered * Update documentation/content/blog/2023-03-09-zero-config-type-safety.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Update documentation/content/blog/2023-03-09-zero-config-type-safety.md Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Revamp a lot of renderer, make it (soft) compatible with sveltekit * Remove markdown types * Clean up faq +page * Document stuff * Make the options more explicity * chore(site-2): Restructure docs pt 2 (#8604) * Push * Update readme * Push * inor accessibility fix * minr stuff * Add prepare * Run prettier * Remove test script * pnpm update * Update sites/svelte.dev/src/routes/examples/[slug]/+page.svelte Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> * Update sites/svelte.dev/package.json Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com> --------- Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
39 lines
727 B
Svelte
39 lines
727 B
Svelte
<!-- https://eugenkiss.github.io/7guis/tasks#timer -->
|
|
|
|
<script>
|
|
import { onDestroy } from 'svelte';
|
|
|
|
let elapsed = 0;
|
|
let duration = 5000;
|
|
|
|
let last_time = window.performance.now();
|
|
let frame;
|
|
|
|
(function update() {
|
|
frame = requestAnimationFrame(update);
|
|
|
|
const time = window.performance.now();
|
|
elapsed += Math.min(time - last_time, duration - elapsed);
|
|
|
|
last_time = time;
|
|
})();
|
|
|
|
onDestroy(() => {
|
|
cancelAnimationFrame(frame);
|
|
});
|
|
</script>
|
|
|
|
<label>
|
|
elapsed time:
|
|
<progress value={elapsed / duration} />
|
|
</label>
|
|
|
|
<div>{(elapsed / 1000).toFixed(1)}s</div>
|
|
|
|
<label>
|
|
duration:
|
|
<input type="range" bind:value={duration} min="1" max="20000" />
|
|
</label>
|
|
|
|
<button on:click={() => (elapsed = 0)}>reset</button>
|