Learn SvelteKit and Firebase: The Ultimate Guide
Learn how to use SvelteKit and Firebase to build high-performance, scalable web applications.
JavaScript Confetti Library is an amazingly simple yet powerful tool, that you can add to any website for just 3.2kB br compressed.
All you need to add to your <head>
is the below script.
<script src="https://cdn.jsdelivr.net/npm/js-confetti@latest/dist/js-confetti.browser.js"></script>
This is all just for visuals of the text, the JavaScript for JS Confetti does all the work.
#confetti {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.title {
line-height: 1;
animation: animateText 2s infinite;
}
.title span {
display: block;
}
.message {
font-weight: 500;
}
.followers {
font-weight: 700;
font-size: 70px;
background-image: linear-gradient(90deg, rgba(94, 114, 235, 1) 0%, #ff9190 56%, #fec195 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
@keyframes animateText {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.75);
}
}
/******IGNORE THIS****/
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@800&display=swap');
:root {
--night: #0d0029;
--lavender: #daa4f6;
--yellow: #f9dc5c;
--red: #e84855;
--mint: #55deae;
}
body {
font-family: 'JetBrains Mono', monospace;
font-size: 32px;
font-weight: 800;
height: 100vh;
padding: 0;
display: flex;
flex-direction: column;
gap: 2%;
justify-content: center;
align-items: center;
color: var(--yellow);
background-color: var(--night);
transition: all 0.3s ease-in-out;
}
We added to the id title
an animation using the CSS animation:animateText 2s infinite;
this will run continuously. Now you can get the animationiteration event, which is triggered for every iteration of this animation.
The only line that we need for the actual confetti is below. This is adding a mix of colors
jsConfetti.addConfetti({
confettiColors: [c1, c2, c3, c4],
confettiRadius: 3,
confettiNumber: 250
});
const canvas = document.querySelector('#confetti');
const jsConfetti = new JSConfetti({
canvas
});
var c1 = getComputedStyle(document.documentElement).getPropertyValue('--lavender');
var c2 = getComputedStyle(document.documentElement).getPropertyValue('--yellow');
var c3 = getComputedStyle(document.documentElement).getPropertyValue('--red');
var c4 = getComputedStyle(document.documentElement).getPropertyValue('--mint');
document.querySelector('.title').addEventListener('animationiteration', () => {
jsConfetti.addConfetti({
confettiColors: [c1, c2, c3, c4],
confettiRadius: 3,
confettiNumber: 250
});
});
Learn how to use SvelteKit and Firebase to build high-performance, scalable web applications.
In this course, you will learn everything you need to know to build user interfaces with SolidJS.