I dagens handledning kommer vi att använda JavaScript för att skapa en enkel, flexibel, parallell effekt där en logotyp tycks ändra färger med bakgrunden den är på när användaren rullar.
Vi skapar ett "standard" -element som stämmer med dess placering (position: fast
) och en massa "rörliga" element vars position är beroende av det "standard" -elementet. Vi använder JavaScript för att detta ska ske varje gång användaren rullar.
Notera: för att täcka alla baser jag har förklarat i video och skriftlig form.
Prenumerera på Tuts + Web Design på Youtube
Vi börjar med att skapa ett par innehållande element. Låt oss göra en av deras bakgrunder mörk och en ljus så att vi kan få en kontrastbild i dem. Låt oss också gå vidare och göra vår första bild till "standard" bilden genom att ge den en klass av standard
, medan de andra bilderna kommer att få klassen av rörlig
.
Låt oss nu se till att våra bilder inte slutar rulla utanför behållarna genom att ställa in överflöd: dold
. Vi kommer också att fortsätta och säga att dessa behållare har relativ position, så de absolut positionerade elementen kommer att anpassa sig till dessa behållare istället för direkt till det fasta elementet när vi skriver vår JavaScript.
För skullbarhetens skull, låt oss ge dessa behållare a min-höjd
av runt 400px
. Och för att hålla våra logotyper borta från kanterna, låt oss ge dem lite stoppning
av 1em
.
.behållare översvämning: dold; position: relativ; minhöjd: 400px; vaddering: 1em;
Varje behållare behöver lite kontrastfärg så:
.mörk bakgrund: # 333; .light background: #fff;
Och till sist, som lovat, låt oss ställa in vår standard- och flyttbara CSS så att man fastnar med sidan som användaren rullar och den andra rör sig med den utan att stöta på andra element:
.standard position: fixed; . omöjlig position: absolut;
Det ska ta hand om markeringen och styling. Om du tittar på sidan ska du se standardlogotypen rulla ner och gömma sig bakom de andra behållarna, medan alla rörliga logotyper ska visas som normala element längst upp till vänster om respektive behållare.
Nu för den roliga delen, gör det att arbeta med JavaScript.
Först laddar vi jQuery och vårt anpassade skript längst ner i vår index.html
: