- at skabe et enkelt nyt dikkeværk

, hvordan man skaber et enkelt nyt dikkeværk,,,,, andel,,,,,,,, 5,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i denne forelæsning vil vi se på, hvordan vi kan ændre en semantisk og tilgængelige underliggende html til et attraktivt og funktionelle nyt hjerte, at glat skriftruller dens indhold.nogle nyheder tickers er horisontale, og nogle er lodret, som vi skaber i dag, vil være lodret.,,,,,, forbindelse med f.eks. et nyt scroller, så vi skal arbejde med almindelig tekst, men vi bør være i stand til at gøre, hvad vi ville i de underliggende avance og billeder eller forbindelser, eller hvad det nu er.vi vil bruge jquery som den, der ligger til grund for det bibliotek, og en lille html og ccs.lad os gøre en begyndelse.,,, de underliggende: i en ny side i deres tekst redaktør tilføje følgende kode:, <!doctype offentlige "- http: ////////////////////dtd 4.01 w3c /en" http: //www.w3.org /tr /html4 /strenge. dtd "> < html > < head > < meta - http equiv =" content type = "indhold" tekst /html; charset = utf - 8 "> < afsnit > enkelt nyt dikkeværk < /afsnit > < forbindelse rel =" stylesheet "type =" tekst /css "href =" simpleticker. css "> < /head > < krop > < dl id =" hjerte "> < dt > dette er et nyt afsnit.< /dt > < dd > det er en stump af nyheder.It could be the whole news item or it could link to another page containing...</dd> <dt>News Heading 2</dt><dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</dd> <dt>News Heading 3</dt><dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</dd> <dt>News Heading 4</dt><dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</dd> <dt class="heading">This item is long!< /dt > < dd klasse = "tekst" > lorem ipsum dolor sidde amet, consectetur adipisicing elit sed gøre eiusmod midlertidigt incididunt ut labore et dolore magna aliqua.lorem ipsum dolor sidde amet, consectetur adipisicing elit sed gøre eiusmod midlertidigt incididunt ut labore et dolore magna aliqua. < /dd > < /dl > < manuskript type = "tekst /javascript" src = "jquery-1.3.2. er" > < /manuskript > < manuskript type = "tekst /javascript" > < /manuskript > < /organ > < /html >, medmindre dette som simpleticker.html i et katalog, som indeholder jquery 1.3.2.som sædvanlig side møbler - doctype, meta - content type, titel, osv. - vi har en speciel stil blad, at vi vil skabe lige om et øjeblik, og vi forbindelse til jquery ved udgangen af kroppen (af tekniske årsager).,,, på side er tilfreds med, at vi vil gradvist øge i nyhederne hjerte; den består af en enkel definition liste element, som er relevant for vores formål.men kun i overensstemmelse med indhold kan placeres i hver < dt > element, block niveau indhold kan sættes på < dd > elementer. kodeksen er minimal og meget tilgængelig; browsere mobilt udstyr og skærm læsere bør alle have vanskeligt ved at fortolke og gør det.med ikke - men det ser faktisk ret chokerende:, at misligholdelse modetendenser, lad os tilføje nogle grundlæggende design; selv med javascript slukkes, er der ingen, der ønsker den liste, som det er tilfældet for øjeblikket.i en ny fil i deres tekst redaktør tilføje følgende kode:,&#hjerte (bredde: 180px. højde: 300px; overløb: auto; grænse: 1px fast&#aaaaaa;}&#hjerte dt (font: normal 14px georgien, polstring: 0 10px 5px 10px; baggrund farve:&#e5e5e5; polstring top: 10px; grænse: 1px fast&#ffffff; grænseoverskridende nederst: ingen; grænseoverskridende ret: ingen;}&#hjerte dd (margen: 0; skrifttype: normal 11px verdana; polstring: 0 10px 10px 10px; grænseoverskridende nederst: 1px fast&#aaaaaa; baggrund farve:&#e5e5e5; grænse tilbage: 1px fast&#ffffff;}&#hjerte dd.last {grænse nederst: 1px fast&#ffffff;, medmindre denne sag i det samme register som side, og det er simpleticker.css.vi giver den liste, en bredde og højde og overløbet ejendom til auto; højden af hjerte, er mindre end det område, der er nødvendige for at vise alle de nyheder, der er så scrollbar vil lade besøgende med javascript handicappede på hele indholdet.,,, nogle af de stilarter er rent formuleringsmæssige. hvad som helst, der sæt en baggrund, farve, grænsen eller skrifttype er helt vilkårlige og anvendes til f.eks. en smule mere attraktiv.den dims, nu ser sådan ud: dog minimal, vi vælger at gøre det, er det en stor forbedring af misligholdelse at gøre. det ville glæde ind i en aftale eller kolonne nu. det er en acceptabel udvej fra den færdige dims og et godt fundament, som gradvist at øge. gradvis styrkelse af hjerte. nu kan vi gå videre til den sjove del – at tilføje javascript, der vil gøre dette fra en enkelt liste til en automatisk hjerte; i den tomme < manuskript > del nederst på side tilføje følgende kode: $(function() (//cache hjemkomst var ticker = $("# ticker"); //pak dt: dd par i divs hjerte. children(). filter (dt). (function() {var dt = $(det),beholder = $(< div > "); dt. next(). appendto (beholder); dt. prependto (beholder) beholder. appendto (motor);}); //skjule scrollbar hjerte. css (" overløb "," skjulte "); //animator funktion funktion animator (currentitem) (//udarbejde nye overførsel varighed var afstand = currentitem. height(), varighed = (afstand - matematik. abs (parseint (currentitem. css (" margintop ")))) /0, 025; //manipulerer det første barn af hjerte currentitem. manipulerer ((margintop: - afstand). varighed," lineære ", function() (//komme løbende konto til bunds currentitem. appendto (currentitem. parent() css). (" margintop ", 0); //recurse animator (currentitem. parent(). børn (":"))))); //start hjemkomst animator (hjerte. børn (": første ")}), alle vores kodeks er indkapslet i jquery document.ready genvej $(function() (}), der skal udføre den anonyme funktion, så snart det blad, der er ladt.den første ting, vi gør, er at cache vores vigtigste vælgeren, som er den ydre < dl > element, og det vil redde os fra at vælge det element af gentagne gange dom, når vi ønsker at samarbejde med den og forbedrer resultaterne af side. den underliggende definition liste indeholder både definition, betegnelse og definition, beskrivelse, elementer, som potentielt kan være af forskellig størrelse.for at gøre tingene lettere i vores manuskript, vi næste pakke hvert < dt > og < dd > par i en indeholder < div > element, og det giver os mulighed for at samle forskellige elementer, logisk og udjævne tegnefilm.det betyder også, at vi kan anvende de margener og polstring til * lt; dt > og elementer, uden at det er nødvendigt at tage hensyn til disse i vores informationskampagne beregninger.for at gøre dette har vi udvælger alle børnene fra vores skjult betjenings - og anvende den jquery filter metode til at skille sig af med alle de < dd > elementer.for de resterende < dt > vi skaber en ny beholder < div > og sætte både < dt > og < dd > den nye beholder.vi er nødt til at tilføje < dd > det følger de nuværende < dt > for det første fordi når < dt > har været knyttet til beholderen, vil det ikke have en < dd > efter det.derfor er vi nødt til at bruge prepend metode på < dt > når < dd > er vedføjet,.,, når alle de < dt > og < dd > par er pakket i < div > elementer, vi så ændre hjerte er overfyldt css ejendom til skjult, så scrollbar er fjernet.det er en del af adgangen til strategi og sikrer, at kun gæster med javascript kunne se et tikkeværk. næste vi definerer vores animator funktion, hvor vi sætter den informationskampagne, som forårsager urværket begynder nedad og så hold rulle på ubestemt tid.det er en almindelig javascript funktion, som accepterer, at en enkelt parameter, når vi kalder denne funktion, vi går over i den første beholder element i urværket. den første ting, vi skal gøre i denne funktion, er den afstand, som de udvalgte element har til at rejse og varigheden af en tegnefilm.afstanden er let, det er bare toppen af den nuværende beholder element., varighed, er lidt mere kompleks, og det er den samlede afstand minus den afstand, allerede har rejst, er delt af en baseline - hastighed, som jeg har vilkårligt fastsat til 0, 025.højden allerede vil være et heltal, men css metode vil vende tilbage en kæde, der repræsenterer den margen på toppen af element være animeret, så vi er nødt til at bruge javascript er parseint() funktion for at omdanne det til et nummer.det vil også være et negativt tal, så vi bruger det. abs() javascript funktion for at omdanne den fra en negativ til et absolut (positive) nummer., baseline - hastighed, der deler vi de resterende afstand, som er temmelig langsom i min udtalelse. jeg har set tickers før (bygget med kaffe), og de har været omtrent samme hastighed, og jeg fik ikke søsyge eller udsættes for skadelige virkninger.hvis du mener, at liv er meget hurtigt eller langsomt) har mulighed for at ændre dette tal.det skal være et meget lille antal, men noget i intervallet 0, 01 - 0, 09 er sikkert okay. når vi har disse oplysninger, så vi kan skabe liv ved hjælp af jquery er livlig og metode.den første parameter for denne metode er den faktiske udvikling selv. vi ønsker, at den første af de beholder elementer i urværket flyttes opad, indtil det er fuldstændigt skjult i den overskydende, men vi ønsker også at trække resten af beholderen elementer af den samme afstand, så bruger vi justere margintop af element det andet argument for. den livfulde metode er den varighed, der arbejdede vi for et øjeblik siden.det tredje argument er, at metoden skik jquery animeringer automatisk få to former for at lette – sving og lineær.sving forårsager informationskampagne for at fremskynde og sæt farten ned, mens lineære gør det lindre og løbende, så der er mulighed for os i denne situation. den sidste argument er et anonymt opkald funktion, som vil blive henrettet, når liv ender.i denne funktion, vi flytter det element, der netop er blevet ansporet til udgangen af containere, nulstille sit margintop tilbage til 0, og så rekursivt kalder animator fungere igen, går i den nye første barn af urværket. endelig har vi brug for at ringe til animator funktion, når at starte hele processen.når vi ser på denne side i en browser, hjemkomst bør gnidningsløst rullen gennem hver af de elementer i listen over de gentagne gange:, start og stop, nu er vi nødt til at tænke over, hvad vi ønsker, der skal ske, når en gæst dem over en nyhed, og personligt tror jeg, at misligholdelse adfærd bør være, at den pauser på mus og så genstart igen på mus.vi kan nemt at tilføje denne opførsel med et par jquery begivenhed, der håndterer og tilføje følgende kode, lige før den endelige skinne /curly fast kombination: //fastsat mouseenter hjerte. mouseenter (function() (//stoppe nuværende informationskampagne hjerte. children(). stop().}); //fastsat mouseleave hjerte. mouseleave (function() {//genoptage animation animator (hjerte. børn (": første")))); begge disse funktioner er meget enkel. vi bruger mouseenter og mouseleave i stedet for mouseover og mouseout, fordi det gør disse funktioner, nice og små, og vi behøver ikke at bekymre dig om at mouseouts når viseren flytter fra den ydre hjerte element til en af barnets elementer.i mouseenter funktion, vi bare stoppe den tegnefilm.i mouseleave funktion, vi bare starte animation endnu en gang, at i de første barn af urværket. fastsættelsen af ie, vi har et problem tilbage at løse, og heldigvis er det let.at side, da det er i irland (testet i version 8) gør en fejl, så snart den er ladt.fejlen skyldes for første gang den ansporende funktion er den første beholder < div > vil have sin margen op til auto i browseren.andre browsere vil fortolke den margen, top som 0.som browser er korrekt, kan diskuteres, men jeg vil lade dem drage sine egne konklusioner om, at han er den eneste browser, der forårsager problemet.alt, hvad vi skal gøre for at ordne det udtrykkeligt er fastsat en margen på toppen af beholderen elementer.vi kan gøre det ved at tilføje følgende linje kode til stil balance:,&#hjerte div (margin top: 0}, nu side bør arbejde, dvs. såvel:,,, smdrg., det bringer os frem til udgangen af læren om, at vi nu har en enkel, men effektiv nyt dikkeværk det kan anvendes på en række forskellige måder.når med tekst, som i dette tilfælde, at positioner og tilhørende indhold sektioner inden for en definition liste giver mening fra en semantisk synsvinkel, og det er let at tilføje yderligere elementer, som vi kan bruge, så går vi.,, følger os på twitter, eller abonnere på nettuts + rss foder til mere daglige web - udvikling tuts og genstande,.,,,



Final Product
Example
Example
Example
Example



Previous:
Next Page: