I dagens veiledning skal vi bruke JavaScript for å lage en enkel, fleksibel, parallax-effekt der en logo tilsynelatende endrer farger med bakgrunnen den er på når brukeren ruller.
Vi skal opprette et "standard" -element som gjelder for plasseringen (posisjon: fast
), og en mengde "bevegelige" elementer hvis posisjon er avhengig av det "standard" -elementet. Vi bruker JavaScript for å gjøre dette skje hver gang brukeren ruller.
Merk: for å dekke alle baser jeg har gitt forklaringen i video og skriftlig form.
Abonner på Tuts + Web Design på Youtube
Vi starter med å lage et par inneholdende elementer. La oss lage en av bakgrunnen deres mørk og en lys slik at vi kan få et kontrastfylt bilde som finnes i dem. La oss også gå videre og gjøre vårt første bilde til «standard» bildet ved å gi det en klasse av misligholde
, mens de andre bildene vil få klassen av bevegelig
.
La oss nå sørge for at bildene våre ikke ender opp med å rulle utenfor beholderne ved å sette inn overløp: skjult
. Vi vil også gå videre og si at disse beholderne har en relativ posisjon, slik at de helt posisjonerte elementene vil justere seg mot disse beholderne i stedet for direkte til det faste elementet når vi skriver JavaScript.
For å kunne rulle, la oss gi disse beholderne a min-høyde
av rundt 400px
. Og for å holde våre logoer vekk fra kantene, la oss gi dem noe padding
av 1em
.
.container overflow: hidden; stilling: relativ; Min høyde: 400px; polstring: 1em;
Hver beholder trenger litt kontrastfarge slik:
.mørk bakgrunn: # 333; .light background: #fff;
Og til slutt, som lovet, la oss sette vår standard og flyttbare CSS slik at man sitter fast med siden som brukeren ruller, og den andre beveger seg sammen med den uten å støte på andre elementer:
.standard posisjon: fast; .moveable posisjon: absolute;
Det bør ta vare på oppslag og styling. Hvis du ser siden, bør du se standardlogoen rulle ned og gjemme seg bak de andre beholderne, mens alle de bevegelige logoer skal vises som vanlige elementer øverst til venstre for deres respektive beholdere.
Nå for den morsomme delen, slik at den fungerer med JavaScript.
Først legger vi inn jQuery og vårt tilpassede skript i bunnen av vår index.html
: