Dans le didacticiel d'aujourd'hui, nous allons utiliser JavaScript pour créer un effet simple, flexible et de parallaxe dans lequel un logo change apparemment de couleur avec l'arrière-plan sur lequel il est activé lorsque l'utilisateur fait défiler l'écran..
Nous allons créer un élément “default” qui reste fidèle à son emplacement (position: fixe
), et un groupe d’éléments «mobiles» dont la position dépend de cet élément «par défaut». Nous allons utiliser JavaScript pour que cela se produise chaque fois que l'utilisateur fait défiler.
Remarque: pour couvrir toutes les bases, j'ai fourni l'explication sous forme vidéo et écrite.
Abonnez-vous à Tuts + Web Design sur Youtube
Nous allons commencer par créer quelques éléments contenant. Faisons en sorte que l'un de leurs arrière-plans soit sombre et l'autre clair afin de pouvoir contenir une image contrastée. Continuons également et faisons de notre première image l’image "par défaut" en lui donnant une classe de défaut
, tandis que les autres images obtiendront la classe de mobile
.
Maintenant, assurons-nous que nos images ne finissent pas par défiler en dehors de leurs conteneurs en réglant débordement caché
. Nous dirons également que ces conteneurs ont une position relative, de sorte que les éléments positionnés de manière absolue s'aligneront sur ces conteneurs plutôt que directement sur l'élément fixe lorsque nous écrivons notre code JavaScript..
Par souci de défilement, donnons à ces conteneurs une hauteur min
des alentours 400px
. Et pour éloigner nos logos des contours, donnons-leur des rembourrage
de 1em
.
.conteneur débordement: masqué; position: relative; hauteur min .: 400px; rembourrage: 1em;
Chaque conteneur a besoin d’une couleur contrastée pour:
.sombre fond: # 333; .light background: #fff;
Et enfin, comme promis, définissons notre CSS par défaut et déplaçable afin que l'un d'eux reste collé à la page lorsque l'utilisateur le fait défiler, et que l'autre se déplace avec elle sans se heurter à d'autres éléments:
.default position: fixed; .moveable position: absolute;
Cela devrait prendre en charge le balisage et le style. Si vous affichez la page, vous devriez voir le logo par défaut défiler vers le bas et se cacher derrière les autres conteneurs, tandis que tous les logos amovibles doivent apparaître comme des éléments normaux en haut à gauche de leurs conteneurs respectifs..
Maintenant pour la partie amusante, le faire fonctionner avec JavaScript.
Nous allons d’abord charger jQuery et notre script personnalisé au bas de notre index.html
: