, 10 måder at øge deres jquery resultater,,,,, øjeblikkeligt 43,,,,,,,, 62,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, vil denne artikel udgør 10 lette skridt, som med det samme vil forbedre dit manuskript.bare rolig, der er ikke noget svært her.alle kan anvende disse metoder.når du er færdig med at læse, lad os vide, din hastighed tips.,,, 1.brug altid den seneste udgave,,, jquery er i konstant udvikling og forbedring.john og hans team er altid i nye metoder til at forbedre programmet resultater. som sidenote for blot nogle få måneder siden, han frigav sydende komitéen bibliotek, der siges at forbedre program (op til 3 gange i firefox. hvis du vil blive ajourført, uden at downloade biblioteket tusind gange., giyf (google er din ven), i denne situation.google er en masse ajax biblioteker, som de kan vælge imellem. <!- få api med en simpel manuskript du... > < manuskript type = "tekst /javascript" src = "http: //www.google. kom /jsapi" > < /manuskript > < manuskript type = "tekst /javascript" > /* og lad minified jquery v1.3.2 denne vej * /google.load ("jquery", "1.3.2" (sammenpressede: falske}) /* det skal vise en meddelelse kasse, når den side er ladt * /funktion onload () (varsling ("jquery + google api!");) google.setonloadcallback (onload). < /manuskript >,,, •redaktionens bemærkninger:, måske hurtigere og lettere metode er ganske enkelt forbindelse til det direkte.snarere end på indkodning af særlige udgave af jquery direkte (1.3.2, du burde i stedet bruge 1, som automatisk henvisning i den seneste udgave af biblioteket. < manuskript type = "tekst /javascript" src = "http: //ajax. googleapis. kom /ajax /libs /jquery /1. /jquery. er" > < /manuskript > 2.kombinere og minify manuskripter,,, de fleste browsere ikke er i stand til at behandle mere end et manuskript sammen, så de kø dem op - - og lade gange stigning. hvis de manuskripter skal lastes på hver side af din hjemmeside, bør du overveje at sætte dem alle i en enkelt fil og anvende en motor værktøj (f.eks. dean edwards') at formindske dem.mindre fil størrelser lige hurtigere belastning gange. målet for javascript og css minification er altid at bevare de operationelle egenskaber af kode og reducere dens samlede byte fodaftryk (både i rå form og efter gzipping, som de fleste javascript og css tjent fra produktionen webserver er gzipped som en del af http protokol).- fra yui kompressor, et fremragende redskab, jquery officielt reccomends til minify manuskripter.,, 3.Use For Instead of Each,Native functions are always faster than any helper counterparts., Whenever you're looping through an object received as JSON, you'd better ,rewrite, your JSON and make it return an array through which you can loop easier.,Using Firebug, it's possible to measure the time each of the two functions takes to run., \tvar array = new Array (); \tfor (var i=0; i<10000; i++) { \t\tarray[i] = 0; \t} \t \tconsole.time('native'); \tvar l = array.length; \tfor (var i=0;i<l; i++) { \t\tarray[i] = i; \t} \tconsole.timeEnd('native'); \t \tconsole.time('jquery'); \t$.each (array, function (i) { \t\tarray[i] = i; \t}); \tconsole.timeEnd('jquery');, , ,The above results are 2ms for native code, and 26ms for jQuery's "each" method. hvis jeg har testet det på mit lokale maskine, og de er faktisk ikke noget (blot array påfyldnings - operation), jquery er hver enkelt funktion er over 10 gange så lang tid som er hjemmehørende "til" loop.det vil helt sikkert øge, når det drejer sig om mere komplicerede ting, som at css egenskaber eller andre dom manipulation operationer. 4.use id i stedet for klasser, er det bedre at vælge genstande ved id på grund af bibliotekets opførsel: jquery bruger browser er indfødt metode, getelementbyid(), for at hente objekt, hvilket resulterede i en meget hurtigt spørgsmål. så i stedet for at bruge den meget handy klasse udvælgelse teknik, det er værd at bruge en mere kompleks dosisskalaen (som jquery bestemt ikke undlade at give), skrive din egen vælgeren (ja, dette er muligt, hvis ikke du finder, hvad i har brug for), eller angive en beholder til element, du må vælge. //f.eks. at oprette en liste og fylde den med komponenter //og udvælgelse af hvert punkt, når konsol. ('class) var liste = $('# liste ") var poster = < ul > « (i = 0. jeg < 1000; jeg + +) (poster + = < li klasse = - punkt' + i + '">item</li>'; \t} \t \titems += '</ul>'; \tlist.html (items); \t \tfor (i=0; i<1000; i++) { \t\tvar s = $('.item' + i); \t} \tconsole.timeEnd('class'); \tconsole.time('id'); \tvar list = $('#list'); \tvar items = '<ul>'; \t \tfor (i=0; i<1000; i++) { \t\titems += '<li id="item' + i + '">item</li>'; \t} \t \titems += '</ul>'; \tlist.html (items); \t \tfor (i=0; i<1000; i++) { \t\tvar s = $('#item' + i); \t} \tconsole.timeEnd('id');,The above code really shows the differences between the two ways of selecting elements, highlighting a never-ending over 5 seconds time to load the class driven snippet., , ,5. giv din selektorer en forbindelse, som anført i jquery dokumentation,,, dom node forbindelse oprindeligt gik til jquery() (hvis ingen var gået så sammenhæng vil være lig med dokument). det bør anvendes i forbindelse med vælgeren at bestemme den præcise spørgsmål.,, så hvis du skal bruge for at målrette dit elementer, i det mindste, at jquery fra gennem hele dom ved hjælp af selektorer korrekt. i stedet for $(1. klasse). css ('color "# 123456), går altid efter contextualized selektorer i form: $(udtryk, forbindelse), hvilket giver $(1. klasse,klasse beholder). css ('color", "# 123456), som løber hurtigere, fordi det ikke er at gennemgå hele dom... bareklasse beholder element. 6.lager.altid. ikke gøre den fejl eller genbruge din selektorer igen og igen.i stedet burde du lager i en variabel.på den måde, den dom ikke er nødt til at finde din element igen og igen. aldrig vælge elementer, flere gange i et loop.det ville være en hastighed dræber!, \t$('#item').css ('color', '#123456'); \t$('#item').html ('hello'); \t$('#item').css ('background-color', '#ffffff'); \t \t//you could use this instead \t$('#item').css ('color', '#123456').html ('hello').css ('background-color', '#ffffff'); \t \t//or even \tvar item = $('#item'); \titem.css ('color', '#123456'); \titem.html ('hello'); \titem.css ('background-color', '#ffffff'); \t \t \t//as for loops, this is a big no-no \tconsole.time('no cache'); \tfor (var i=0; i<1000; i++) { \t\t$('#list').append (i); \t} \tconsole.timeEnd('no cache'); \t \t//much better this way \tconsole.time('cache'); \tvar item = $('#list'); \t \tfor (var i=0; i<1000; i++) { \t\titem.append (i); \t} \tconsole.timeEnd('cache');,And, as the following charteksemplificerer, resultaterne af caching er endnu mere klart på relativt kort iterationer.,,, 7.undgå dom manipulation, dom manipulation bør være så begrænset som muligt, da indsætte operationer som prepend(), append(), after() er meget tidskrævende. i ovenstående eksempel kunne være hurtig anvendelse af html() og opbygning af listen på forhånd, var liste = '") (var - jeg = 0. jeg < 1000; jeg + +) (liste + = < li > + + (< /li > «) ('liste«). http: //(liste), 8.ikke snor concat(); anvendelse join() længere, fordi det kan forekomme underligt, men det hjælper med til at fremskynde tingene, især når det drejer sig om lange tråde af tekst, som skal være forbundet. først skabe et system og fylder den med, hvad du er nødt til at slutte sig sammen.den join() metode vil vise sig meget hurtigere end den snor concat() funktion., var array = []; (var - jeg = 0. jeg < = 10000; jeg + +) (array [i] = < li > + + (< /li > '} $('liste«). http: //(array.join (''), men de seneste undersøgelser, der foretages af tom trenka bidraget til oprettelse af følgende diagram.,,,, "+ = operatør er hurtigere, mere end at kæde fragmenter i et system med dem på i sidste øjeblik" og "et system som en streng buffer er mere effektiv på alle browsere, med undtagelse af firefox 2.0.0.14/windows, end ved hjælp af snor. prototype. concat. anvendelse." - trenka, 9.tilbage, falske, du har bemærket, når deres funktioner ikke returnere falske, hopper du op på toppen af side. i forbindelse med længere sider, det kan være ret irriterende, så i stedet for $('# punkt). klik () () (//her}) og tage sig tid til at skrive, $('punkt). klik () () (//her tilbage falske}), 10.bonus - tip - snyde ark og bibliotek henvisninger,,, det er ikke en fremskynde tip, men kunne ende i et rundt om, at hvis man tager sig tid til at finde vej gennem cheatsheets og funktion henvisninger. spar dig lidt tid - - og holde en noter, inden for rækkevidde.,, følger os på twitter, eller abonnere på nettuts rss foder til mere daglige web - udvikling tuts og genstande,.,,,
10 måder at øge deres jquery ydeevne på
Previous:et indhold jquery slæde med -
Next Page:uden for boksen sejlads med jquery