Added smooth scroll using lenis
This commit is contained in:
parent
ec5d752d85
commit
de4b44f9fa
2 changed files with 26 additions and 0 deletions
20
src/lib/lenis.js
Normal file
20
src/lib/lenis.js
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
import Lenis from 'lenis';
|
||||||
|
|
||||||
|
let lenisInstance = null;
|
||||||
|
|
||||||
|
export const lenisScrollInstance = () => {
|
||||||
|
if (!lenisInstance) {
|
||||||
|
const lenis = new Lenis();
|
||||||
|
|
||||||
|
function raf(time) {
|
||||||
|
lenis.raf(time);
|
||||||
|
requestAnimationFrame(raf);
|
||||||
|
}
|
||||||
|
|
||||||
|
requestAnimationFrame(raf);
|
||||||
|
|
||||||
|
lenisInstance = lenis;
|
||||||
|
}
|
||||||
|
|
||||||
|
return lenisInstance;
|
||||||
|
};
|
||||||
|
|
@ -3,8 +3,14 @@
|
||||||
import Footer from '$lib/components/footer.svelte';
|
import Footer from '$lib/components/footer.svelte';
|
||||||
import './layout.css';
|
import './layout.css';
|
||||||
import favicon from '$lib/assets/favicon.svg';
|
import favicon from '$lib/assets/favicon.svg';
|
||||||
|
import { onMount } from 'svelte';
|
||||||
|
import 'lenis/dist/lenis.css';
|
||||||
|
import { lenisScrollInstance } from '$lib/lenis';
|
||||||
|
|
||||||
let { children } = $props();
|
let { children } = $props();
|
||||||
|
onMount(() => {
|
||||||
|
lenisScrollInstance();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head><link rel="icon" href={favicon} /></svelte:head>
|
<svelte:head><link rel="icon" href={favicon} /></svelte:head>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue