parent
6021e3943b
commit
72a8a1cd7d
@ -0,0 +1,34 @@
|
||||
<!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>06 scroll animation</title>
|
||||
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Scroll to see the animation</h1>
|
||||
|
||||
<div class="container">
|
||||
<div class="slider">1</div>
|
||||
<div class="slider">2</div>
|
||||
<div class="slider">2</div>
|
||||
<div class="slider">3</div>
|
||||
<div class="slider">4</div>
|
||||
<div class="slider">5</div>
|
||||
<div class="slider">6</div>
|
||||
<div class="slider">7</div>
|
||||
<div class="slider">8</div>
|
||||
<div class="slider">9</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script src="script.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -0,0 +1,19 @@
|
||||
const sliders = document.querySelectorAll(".slider");
|
||||
|
||||
window.addEventListener("scroll", slideIn);
|
||||
|
||||
slideIn();
|
||||
|
||||
function slideIn() {
|
||||
const triggerBottom = (window.innerHeight / 5) * 4;
|
||||
|
||||
sliders.forEach((slider) => {
|
||||
const sliderTop = slider.getBoundingClientRect().top;
|
||||
|
||||
if (sliderTop < triggerBottom) {
|
||||
slider.classList.add("show");
|
||||
} else {
|
||||
slider.classList.remove("show");
|
||||
}
|
||||
});
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 180%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.slider {
|
||||
background-color: steelblue;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 400px;
|
||||
height: 200px;
|
||||
margin: 10px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.3);
|
||||
transition: transform 0.2s linear;
|
||||
}
|
||||
|
||||
.slider:nth-child(odd) {
|
||||
transform: translateX(400%);
|
||||
}
|
||||
|
||||
.slider:nth-child(even) {
|
||||
transform: translateX(-400%);
|
||||
}
|
||||
|
||||
.slider.show {
|
||||
transform: translateX(0);
|
||||
}
|
Loading…
Reference in new issue