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 :
supprimer flux RSS
La fin de Google Reader : faut-il supprimer les flux RSS ?

Coup de tonnerre sur la planète RSS, Google annonce la fin de son lecteur RSS, programmée pour le premier Juillet....

papillon
Les 12 meilleurs sites de retouches photos en ligne gratuits.

Pour retoucher les photos, il n'est pas nécessaire d'installer des logiciels coûteux. Tout ou presque peut se faire en ligne....

cadre css
Comment encadrer un texte avec des arrondis en CSS ?

Vous avez envie d'encadrer des textes pour les embellir sans avoir recourt à des images ? CSS3 permet de réaliser...

Fermer