Scroll Animation | Javascript

Scroll Animation | Javascript



Master Frontend to Backend https://bit.ly/frontend-to-backend-ebook —————— Revolutionize projects with our advanced …

source

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Scroll Animation | Javascript</title>
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<section>Scroll Down</section>
	<div class="container">
		<img src="img1.jpg" alt="" class="item">
		<img src="img2.jpg" alt="" class="item">
		<img src="img3.jpg" alt="" class="item">
		<img src="img4.jpg" alt="" class="item">
		<img src="img5.jpg" alt="" class="item">
		<img src="img6.jpg" alt="" class="item">
		<img src="img7.jpg" alt="" class="item">
		<img src="img8.jpg" alt="" class="item">
	</div>
	<section>Scroll Up</section>
	<script>
		let options = {
			root: null,
			threshold: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
		}

		let callback = (entries, observer) => {
			entries.forEach((entry) => {
				entry.target.style.scale = entry.intersectionRatio;
			});
		};
		let observer = new IntersectionObserver(callback, options);

		for (const target of document.querySelectorAll('.item')) {
				observer.observe(target);
		}
	</script>
</body>
</html>
*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body 
{
	background: #111;
}
section 
{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	min-height: 100vh;
	font-size: 6em;
}
.container 
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 50px;
}
.container .item 
{
	transition: 0.5s;
}

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *