, at responderende tidslinje portefølje side, denne post er en del af en serie kaldet bygge en lydhør tidslinje portefølje side. bygning lydhør tidslinje portefølje side,,, hvad du vil lave,,,,,,, at de tidligere lektion, lad os tilføje nogle blomstre til vores bygge.,, lastning ikon, kommer vi til at se på css3 tegnefilm og skabe en enkel spinding informationskampagne for vores lastning ikon.vi har allerede den forhøjelse, vi har brug for på side, så lad os gå lige til css.,, div.loading (farve: darken ($grå, 20%) og position: absolut; bredde: 100px; nederst: 15px; venstre: 50% margen: - 50px; img (vertikale linje: i midten; &. drej {- webkit animation navn: rotere. - fru animation navn: rotere, animation navn: roterer; - webkit animation varighed: 1; animation varighed: 1; - webkit animation iteration tæller: uendelige. - fru animation iteration tæller: uendeligt, animation iteration tæller: uendelige; - webkit animation timing funktion: en lineær; - msimation timing funktion: lineær; animation timing funktion: lineær;}}}, denne kode, lige efter , portefølje punkt på dagsordenen, blok i vores sass fil.til at begynde med, her er vi bare at oprette nogle former for lastning div.vi er absolut position den og sørge for, det er koncentreret ved hjælp af en , margen, , , - 50px,, , som er halvdelen af det element er bredde.det er for at opveje css holdninger elementer fra den øverste venstre hjørne.,, næste punkt er langt mere interessant.som du måske har set i html vi tildeles en klasse af , drej, til lastning , < img >, mærke, som vi vil bruge som krog til at udføre en css animation.stilen her er klar til vores informationskampagne. , vi i bund og grund fortæller css, hvad vores informationskampagne funktion kaldes (vi vil skabe det i et øjeblik), hvor længe informationstiltag skal løbe, hvor mange gange skal det løb og tidspunktet eller lempelse funktion at bruge.for vores projekt, vi ønsker et glatte 360 graders drejning, der aldrig stopper.den kode ovenfor, vil opnå præcis det. , note:, er vi nødt til at omfatte browser forud fastsatte erklæringer, så ingen savner ud - - og vi kan forbedre dette ved hjælp af en frækhed mixin til at løfte os. lad os tage et kig i browseren.,,,,, ok, det ser virkelig godt, men der er én ting mangler.det er ikke inspirerende.lad os ordne det nu med følgende kode:,, @ - webkit keyframes roterer {100% {- webkit omdanne: roter (360deg) og omdanne: roter (360deg); - webkit omdanne oprindelse: center center og omdanne oprindelse: center center;}} @ keyframes roterer {100% {- webkit ændre: roter (360deg); - ms omdanne: roter (360deg) og omdanne: roter (360deg); - webkit omdanne oprindelse: center center; - ms omdanne oprindelse: center center og omdanne oprindelse: center center;}}, så her er den , drej, funktion.det fungerer sådan, som om centrale punkter i denne informationskampagne for at ændre element.du kan få noget til at ske på 0%, 25%, 50%, og så videre.vores liv er meget enkel, så vi skal bare bruge en erklæring på 100%, som staterne element skal drejes 360 grader.dette betyder, at vores element vil udføre en hel spin og ender tilbage, hvor det begyndte.vores tidligere, der sikrer, vil det fortsætte på ubestemt tid.den , omdanne oprindelse, ejendom fortæller css, hvor centrum for informationstiltag er.vi kunne sætte det rundt med den øverste venstre hjørne, som centret (det kan være interessant.men vi vil bare bruge den nøjagtige centrum for vores del.gem denne sag og tage et kig i browseren.,,,,, bør det ligner ovennævnte, men nemmere og hurtigere.,, det var vores tidslinje portefølje side, men der er én ting, vi kan tilføje, at det i forbindelse med denne forelæsning.,, lastning indhold nu, i den virkelige verden denne type layout /tema vil sandsynligvis omfatte en slags uendelig rullen element, hvor flere punkter ud, som du rulle ned af siden, forhindre dig fra at til klik til at gå igennem sider.,, vi kan simulere opførsel her med et par linjer jquery.åbne , app. js, og starte med at tilføje følgende, ovenfor, hvor vi skrev vores menu afsnit klik kontaktperson.,, var visibleheight = $(nummer). height() - $(vindue). height(); var poster, først og fremmest , vi er nødt til at erklære to variabler, som vi kan anvendelse på et senere tidspunkt.den anden er kun en erklæring og vil blive tildelt en værdi senere.den første, , visibleheight, tager , vindue, højde og fjerner det fra den samlede , dokument, højde.det vil efterlade os med en højde på det område, der er i øjeblikket er synlige i brugernes browser.,, storeelements(). $(vindue). ('resize, funktion (e) (updateheight().}); $(vindue). ('scroll, funktion (e) (loadcontent().}),,, den næste, tilføje ovennævnte snippet.vil du se et par funktion opfordrer til funktioner, der ikke eksisterer endnu, og det er i orden, som vi vil give dem næste.,, funktion storeelements() {genstande = $(. portefølje punkt: lt (3) '). clone(); //bånd på første klasse fra udvælgelse poster. removeclass (herefter ");), , storeelements, funktion er en måde at forsyne vores , produkter, , variabel med en dom elementer.i vores tilfælde, vi ønsker at tage de første tre , portefølje produkter.anvendelse af jquery er , lt(), giver os mulighed for at samle de elementer, vi ønsker selektivt.når vi har valg, vi skal , clone(),, , dem, så vi ikke bruger de faktiske elementer, men en kopi i stedet.det sidste skridt er at fjerne de , første, klasse, hvis det findes, som ingen af vores nye elementer, er den første på listen,.,, funktion updateheight() {visibleheight = $(nummer). height() - $(vindue). height();}, og denne funktion over , storeelements,.det er nok den mest enkle funktion som det gør kun, hvad vi gjorde i , nummer klar.grunden til, at jeg har brugt en funktion at gøre det på er at holde den genanvendelige.,, nu kommer vi til den funktion, der er at gøre arbejdet...,, funktion loadcontent() (hvis ($(vindue). scrolltop() > = visibleheight) ($(vindue). slip ('scroll) var loadingwrap = $(". - pakke"); loadingwrap. fadein (function() {settimeout (function() {loadingwrap. før (produkter); loadingwrap. gem (function() {updateheight(); storeelements(). $(vindue). ('scroll, function() {loadcontent().})})}, 500).}).}}, okay, trin for trin i, hvad vi laver her, tjek.hvis den skriftrulle er mere end (scrolled tidligere) eller lig med (i) , visibleheight,. hvis det er, fjerne , rulle, tilfælde handling fra , vindue, , så vi kan behandle indholdet. et sted , lastning, pakker, anvendes senere., og , lastning, pakker, , og når fade fuldender...,...... en lille , timeout, at simulere "-" indholdet, lægger vores klonede , produkter, inden , lastning omslag.dette vil sprække i pænt mellem lastning ikon, og den nuværende , porteføljeenheder,., gem , lastning, pakker, og endnu en skjult , updateheight,, , storeelements,, og sætte skriftrullen begivenhed til , vindue, med instruktioner til at køre det her fungerer igen., føj!det virker som meget, så gå igennem det igen, hvis du vil. én ting, du kan mærke, hvis du er eagled øjne, er, at vi er ved at forsvinde i , lastning pakke, som faktisk er allerede synlige i vores html.fastsætte, at ved at tilføje et inline - stil for dette element...,, < div klasse = "portefølje på gruppe - pakke" stil = "display: ingen;" >,, så hvis vi nu redde vores filer og for vores arbejde i browseren, du bør se mere indhold "belastning" når du rulle det nederst på siden.- vent, der er en anden ting, vi er nødt til at tilføje... $(. menuer h3). ('click, funktion (e) ($(dette). ('ul '). toggleclass ('open'); updateheight(); e. preventdefault(); tilbage falske}),,, i , h3, klik kontaktperson skabte vi lige fra starten skal vi tilføje en opfordring til, updateheight(), denne vej , når vi klik til at åbne en menu variabler er ajourføres for at afspejle ændringer i højden af dokumentet.uden denne, hvis du åbner en menu på mobile "-" funktioner vil blive brudt, som , visibleheight, variable ville være ukorrekt.,, konklusion, vi er nået til vejs ende.vi kan nok få ryddet op i javascript, vi lige har skrevet, og i en ægte situation, vil det sikkert være skiftet til en ajax opringning eller noget.,,, jeg håber, du har lært nogle forskellige teknikker, som sammen med denne forelæsning.det var sjovt at bygge - og jeg er glad for at fortælle dem om processen med at bringe denne meget flot design til livet.jeg er sikker på, at der er mange måder at forbedre denne, så hvis du har nogen forslag gør, lad mig vide, i bemærkningerne.,
færdigbehandling, lydhør tidslinje portefølje side
Previous:lære css med vores nye bundt
Next Page:en introduktion til bem - metode