Tutoriel : créer un effet de parallaxe avec jQuery

Vous avez certainement déjà visité un site en une seule page ou les articles se succèdent les uns à la suite des autres sur un même document. Ces pages utilisent souvent un effet parallaxe pour ajouter un plus au webdesign du site.

Mais qu’est-ce que l’effet parallaxe ?
L’effet de parallaxe consiste à faire défiler différents plans à des vitesses différentes. Par exemple, un objet placé en arrière plan défilera plus lentement qu’un objet au premier plan. Ce phénomène se retrouve dans la réalité. Si vous masquez un objet avec votre main et que vous déplacer votre œil, l’objet masqué apparaît de chaque côté, parce qu’il ne se déplace pas à la même vitesse que votre main.
Dans cet article, vous trouverez un code simple pour faire défiler des images à des vitesses différentes.
galaxieVoici le code complet pour réaliser un effet de parallaxe pour un défilement vertical.
<!DOCTYPE html>
<html>
<head>
    <title>Parallax</title>
    <meta charset="utf-8">
<style>
#img1 {
   background: url('http://outils-web.fr/wp-content/uploads/2014/02/mouette.png');
   width: 640px;
   height: 427px;
   opacity: 0.1;
   position: fixed;
   top: 0px;
   left: 250px;
   margin-top: 50px;
   z-index: 1;
}
#img2 {
   background: url('http://outils-web.fr/wp-content/uploads/2014/02/mouette.png');
   width: 640px;
   height: 427px;
   opacity: 0.5;
   position: fixed;
   top: 0px;
   left: 250px;
   margin-top: 150px;
   z-index: 2;
}
section {
width: 100%;
height: 2000px;
background-color: #dddddd;
}
body{
margin: 0px;
}

</style>
</head>

<body>
<section>

<div id="img1"></div>


<div id="img2"></div>

</section>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script type="text/javascript">		
$(window).scroll(function(e){
    parallax();
});
function parallax(){

    var scrolled = $(window).scrollTop(); 

    $('#img1').css('top', -(scrolled * 0.1) + 'px');
	$('#img2').css('top', -(scrolled * 0.3) + 'px');

}
</script>
</body>
</html>

Vous êtes impatient de visualiser le résultat : Effet parallaxe

Regardons de plus près le code de cette page HTML.

  • La première partie utilise une feuille de style css pour positionner  deux div dont l’id est img1 et img2. Ces blocs de contenus ont comme image de fond une mouette. Ce sont ces images qui donneront l’effet parallaxe. Ces div sont positionnées en « fixed ». Le décalage par rapport au dessus de l’image se fait avec margin-top et non top pour éviter des problèmes de déplacements relatifs.
  • La seconde partie HTML correspond juste aux deux div sur lesquel l’effet parallaxe sera effectué?
  • La troisième partie concerne le javascript et jquery. On commence par charger la bibliothèque jQuery. Ensuite, on récupère l’événement scroll de l’objet window. Lorsqu’on fait défiler la fenêtre, la fonction parallax est appelée qui modifie l’attribut « top » des blocs contenant les mouettes, ce qui donne un défilement différent pour chacun d’un.
  • Ce sont les valeurs de top qu’il faut modifier pour changer l’effet parallaxe. Pour le positionnement initial par rapport au haut de page, il faut modifier le margin-top des css.

Ce petit tutoriel est maintenant terminé. J’espère qu’il vous aura aider dans vos créations? N’hésitez pas à le partager.

Ces articles pourraient vous intéresser :

Add a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus :
suligner texte stabilo css
Comment surligner un texte comme avec un stabilo ?

Dans ce petit tuto nous allons utiliser les balises <span> et </span> et les CSS en ligne, pour surligner un...

plugin WordPress
Comment choisir et installer les meilleurs plugins WordPress ?

Voici un tout petit article pour guider les personnes embarrassées devant plusieurs Plugins WordPress et ne sachant pas lequel choisir. Il est...

foundation
Les meilleurs frameworks CSS pour créer un site web professionnel.

Pour créer un site web de qualité professionnelle, très rapidement et avec peu de connaissances en CSS, rien de tel...

Fermer