Besoin d'aide pour un site web avec le système parallax
Résolu/Fermé
bullekichi
-
12 mai 2013 à 13:50
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 12 mai 2013 à 19:38
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 12 mai 2013 à 19:38
A voir également:
- Besoin d'aide pour un site web avec le système parallax
- Site de telechargement - Accueil - Outils
- Restauration systeme - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Site pour vendre des objets d'occasion - Guide
- Web office - Guide
2 réponses
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
12 mai 2013 à 13:55
12 mai 2013 à 13:55
Je suis justement en train de concevoir un site dans le genre. Quelles notions de javascript as-tu ? C'est pas forcément l'effet le plus simple à mettre en place.
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
Modifié par prosthetiks le 12/05/2013 à 15:50
Modifié par prosthetiks le 12/05/2013 à 15:50
Voila:
<html> <head> <title> </title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <style type="text/css"> body{height: 3000px;} .element{ position: absolute; width: 50px; height: 50px; background: url('http://www.absyx.fr/sites/default/files/imagecache/Preset-1-2/imagefield/test-page/un-chat-avec-un-melon-croute-sur-sa-tete.jpg') no-repeat center center; opacity: .8; } .image1{ left: 50px; background-position: 0px -50px; } .image2{ left: 100px; background-position: -50px -50px; } .image3{ left: 150px; background-position: -100px -50px; } .image4{ left: 200px; background-position: -150px -50px; } .image5{ left: 50px; background-position: 0px 0px; } .image6{ left: 100px; background-position: -50px 0px; } .image7{ left: 150px; background-position: -100px 0px; } .image8{ left: 200px; background-position: -150px 0px; } </style> </head> <body> <div class="image1 element"></div> <div class="image2 element"></div> <div class="image3 element"></div> <div class="image4 element"></div> <div class="image5 element"></div> <div class="image6 element"></div> <div class="image7 element"></div> <div class="image8 element"></div> </body> <script type="text/javascript"> var parralax = { elements: { image1: { item: $('.image1'), start: 1, end: 800, from: {top: 500}, to: {top: -600} }, image2: { item: $('.image2'), start: 1, end: 800, from: {top: 500}, to: {top: -450} }, image3: { item: $('.image3'), start: 1, end: 800, from: {top: 500}, to: {top: -800} }, image4: { item: $('.image4'), start: 1, end: 800, from: {top: 500}, to: {top: -50} }, image5: { item: $('.image5'), start: 1, end: 800, from: {top: 450}, to: {top: -150} }, image6: { item: $('.image6'), start: 1, end: 800, from: {top: 450}, to: {top: -600} }, image7: { item: $('.image7'), start: 1, end: 800, from: {top: 450}, to: {top: -1500} }, image8: { item: $('.image8'), start: 1, end: 800, from: {top: 450}, to: {top: -200} } }, _initialize: function(){ var me = this; this.addEventsListeners(); $.each(me.elements, function(key, value){ //console.log(value); $.each(value.from, function(key1, value1){ $(value.item).css(key1, value1 + 'px'); }); }); return this; }, basePosElement: function(element){ $.each(element.from, function(key, value){ $(element.item).css(key, value + 'px'); }); }, addEventsListeners: function(){ var me = this; $(window).scroll(function(e){ me.moveElements(e.currentTarget.pageYOffset); }); }, moveElements: function(scrollY){ console.log(scrollY); var me = this; $.each(me.elements, function(key, value){ if(value.start < scrollY && value.end > scrollY){ // Play anim var from = value.from; $.each(from, function(key1, value1){ //console.log((value.end - value.start)); var pourcentJoue = ((scrollY - value.start) * 100) / (value.end - value.start); if(value.to[key1] < from[key1]){ var currentValue = from[key1]-(((from[key1] - value.to[key1]) * pourcentJoue) / 100); }else{ var currentValue = ((value.to[key1] - from[key1]) * pourcentJoue) / 100; } $(value.item).css(key1, currentValue); }); }else{ me.basePosElement(value); } }); }, addElements: function(){ } }; var parralaxInstance = parralax._initialize(); </script> </html>
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
12 mai 2013 à 16:32
12 mai 2013 à 16:32
Si c'est pour recomposer une image, le mieux à faire est de jouer avec le background-position comme je l'ai fait dans l'exemple.
Quelle est l'image que tu veux recréer ? Tu arrives a la poster ici ?
Quelle est l'image que tu veux recréer ? Tu arrives a la poster ici ?
bullekichi
Messages postés
64
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
13 février 2016
1
12 mai 2013 à 16:55
12 mai 2013 à 16:55
cette image-ci https://www.flickr.com/photos/87889298@N02/8731040425/in/photostream
qui fait 1748?×?2480
qui fait 1748?×?2480
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
12 mai 2013 à 17:00
12 mai 2013 à 17:00
Okk, elle est beaucoup trop grande pour un affichage web classique.
Je vais voir ce que je peux faire :p Je te répond d'ici 20 min
Je vais voir ce que je peux faire :p Je te répond d'ici 20 min
bullekichi
Messages postés
64
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
13 février 2016
1
12 mai 2013 à 17:06
12 mai 2013 à 17:06
Merci beaucoup :)
voila un apercu de ma première page de mon site:
https://www.flickr.com/photos/87889298@N02/8731073163/in/photostream/
voila un apercu de ma première page de mon site:
https://www.flickr.com/photos/87889298@N02/8731073163/in/photostream/