Bonsoir à toutes et tous,
je poste ce petit message car je ne trouve pas la solution à mon soucis,
je suis en train d'intégrer un site avec un effet de parallaxe sur les côtés.
j'ai mis mes images dans des <aside> pour pouvoir les positionner et fait mon script sur un document à part.
l'effet parallaxe se fait bien à une exception près, la page scroll à l'infini même après le footer.
Je cherche donc une solution pour arrêter le scroll une fois arriver au footer
mon code :
HTML :
CSS:
JS:
d'avance merci pour votre aide
Modifié par Remi_H (19 Nov 2021 - 23:11)
je poste ce petit message car je ne trouve pas la solution à mon soucis,
je suis en train d'intégrer un site avec un effet de parallaxe sur les côtés.
j'ai mis mes images dans des <aside> pour pouvoir les positionner et fait mon script sur un document à part.
l'effet parallaxe se fait bien à une exception près, la page scroll à l'infini même après le footer.
Je cherche donc une solution pour arrêter le scroll une fois arriver au footer
mon code :
HTML :
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Parallax oktoplus</title>
<link rel="stylesheet" href="style.css">
<script src="script.js" defer></script>
</head>
<body>
<header>
<a href="#" class="logo"> <img src="Poulpy Seul.png" alt=""></a>
<ul>
<li><a href="#" class="active">Accueil</a></li>
<li><a href="#">Réalisation</a></li>
<li><a href="#">Contact</a></li>
</ul>
</header>
<section>
<aside id="para-left">
<img src="gd-bulles.png" id="gdBullesL">
<img src="moy-bulles.png" id="moyBullesL">
<img src="pt-bulles.png" id="ptBullesL">
</aside>
<aside id="para-right">
<img src="gd-bulles.png" id="gdBullesR">
<img src="moy-bulles.png" id="moyBullesR">
<img src="pt-bulles.png" id="ptBullesR">
</aside>
<div class="article">
texte
</div>
</section>
<footer>
<a href="#" class="logo"> <img src="Poulpy Seul.png" alt=""></a>
<ul>
<li><a href="#" class="active">Accueil</a></li>
<li><a href="#">Réalisation</a></li>
<li><a href="#">Contact</a></li>
</ul>
</footer>
[/spoiler]CSS:
*{
padding: 0;
margin: 0;
box-sizing: border-box;
scroll-behavior: smooth;
}
header, footer{
width: 100%;
height: 195px;
background: #4985DC;
display: flex;
justify-content: space-around;
align-items: center;
z-index: 10000;
}
footer{
position: relative;
bottom: 0;
}
header img{
height: 50%;
}
header ul, footer ul{
display: flex;
justify-content: center;
align-items: center;
}
header ul li, footer ul li{
list-style: none;
margin-left: 20px;
}
header ul li a, footer ul li a{
text-decoration: none;
padding: 6px 15px;
color: #fff;
border-radius: 20px;
}
header ul li a:hover, header ul li a.active{
background: #fff;
color: #4985DC;
}
.article{
width: 50%;
margin: auto;
margin-top: 25px;
position: relative;
}
aside{
position: relative;
width: 25%;
height: 100vh;
}
#para-left img{
position:absolute;
top: 0;
left: 0;
}
#para-right{
right: 0;
position: absolute;
z-index: 10;
}
#para-left{
left: 0;
position: absolute;
z-index: 10;
}
#para-right img{
position:absolute;
transform: scaleX(-1);
top: 0;
right: 0;
}
JS:
let gdBullesL = document.getElementById('gdBullesL');
let moyBullesL = document.getElementById('moyBullesL');
let ptBullesL = document.getElementById('ptBullesL');
let gdBullesR = document.getElementById('gdBullesR');
let moyBullesR = document.getElementById('moyBullesR');
let ptBullesR = document.getElementById('ptBullesR');
window.addEventListener('scroll', function() {
let value = window.scrollY;
gdBullesL.style.top = value * 0.5 + 'px';
moyBullesL.style.top = value * 0.9 + 'px';
ptBullesL.style.top = value * 0.7 + 'px';
gdBullesR.style.top = value * 0.5 + 'px';
moyBullesR.style.top = value * 0.9 + 'px';
ptBullesR.style.top = value * 0.70 + 'px';
})
d'avance merci pour votre aide
Modifié par Remi_H (19 Nov 2021 - 23:11)