afsløringen af jquerys skjulte elementer

, at jquery skjulte elementer,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, jquery er ikke altid, som det ser ud.der er en masse fede ting sker under overfladen, og der er mange, der venter på at blive opdaget, og mange potentielle anvendelser af jquery er api, som du måske ikke har behandlet før.i denne artikel, jeg tager dig med til et par af de ikke så indlysende ting, jeg har fundet ud af om jquery.,,, 1.forstår jquery!når du ringer,'jquery, hvad sker der?den jquery funktion i sig selv er meget enkel:, jquery = funktion (vælgeren, sammenhæng) (//jquery objekt er faktisk bare en lokalitet konstruktøren »udvidede« tilbage nye jquery. i. lokalitet (vælgeren, forbindelse);}; i henhold til deres hud, jquery funktion (almindeligvis kaldet "papir" funktion) blot returnerer en instantierede jquery objekt, - dvs. et eksempel på det,'jquery. i. lokalitet, konstruktøren., det er nyttigt at vide, for med denne information, vi ved, at hver gang, vi kalder'jquery, vi er faktisk at skabe et helt unikt objekt med et sæt af egenskaber.jquery er smart, da det giver dig et objekt, der kan betragtes som et system.hver af dine elementer (alle sammen, kendt som "samling"), der er opført i den genstand, i henhold til en numerisk indeks, som inden for en bred vifte.og jquery giver også dette formål,'length, ejendom, som man ville forvente fra en vifte.dette åbner op for en verden af muligheder.for det betyder, at vi kan låne nogle funktioner,'array. prototype.jquery er,'slice "metode, er et godt eksempel på dette - ændret fra den kilde: /*.jquery. i. udvide ({...* /skive: function() {tilbage. pushstack (array. prototype. stykke. anvendelse (dette argumenter), "stykke", system, model. del. indkaldelse (< wbr > argumenter). med ("")) /*.* /, de indfødte,'slice, metode er ligeglad med, at det "ikke er en reel array - - vil det være godt med noget, der er en,'length, ejendom og [0], [1], [2] osv. er der andre interessante egenskaber inden for det jquery objekt...". komitéen ", og" sammenhæng ", vil det meste af tiden, afspejler de argumenter, som de består i,'jquery (...) «., var jqobject = jquery (»a«), jqobject.selector; //= > "a", det er vigtigt at bemærke, at jquery kan undertiden give dig nye jquery objekter til at arbejde med.hvis du er en metode, der ændrer indsamling på en måde, som f.eks. parents() ", så jquery vil ikke ændre den nuværende formål; det vil blot give dem en helt ny:, var originalobject = jquery (»a«), var anotherobject = originalobject. parents(); originalobject = = = anotherobject; //////////////= > falske, alle metoder, der findes til at mutere indsamling på en eller anden måde at vende tilbage som en helt ny jquery objekt - - kan du stadig adgang til gammel genstand, via". end(), eller mere verbosely via ". prevobject,., 2.brød og smør element oprettelse, af central betydning for jquery er dom kapacitet, er dens element oprettelsen syntaks.1.4 førte til en helt ny måde at skabe din elementer hurtigt og præcist.f.eks. var mydiv = jquery (< div /> "(id:" min nye element, klasse: "foo, css: (farve: rød, backgrondcolor:"&#fff 'grænse: 1px fast&#ccc'}, klik på: function() {indberetning ('clicked! ");)http: //: jquery (< a /> "(href:" #, klik på: function() (//gøre noget afkast falske}})}), som på 1,4, du kan passere et andet argument om, at den jquery funktion, når du er at skabe et element. objekt du passerer vil for de flestes vedkommende handler, som om de var forbi,. attr (...) «.men jquery vil skitsere nogle af de egenskaber, med sine egne metoder, f.eks. den,'click, ejendom, kort til jquery er,'click "- metoden (som binder et tilfælde fører til,'click, tilfælde), og'css, kort til jquery er,'css, metode osv. for at kontrollere hvad egenskaber kort til jquery metoder, åben din computer og type,'jquery. attrfn,., 3.nå, virkelig dit input, jquery giver en metode, som de kan bruge til at nå, virkelig alle input i en eller flere former.det er nyttigt ved indsendelse af data via xhr ("ajax").det er i jquery i lang tid, men det er ikke ofte har talt om, og så mange entreprenører ikke ved, den er der.indgivelse af en hel form via ajax, ved hjælp af jquery, kunne ikke være nemmere:, var myform = $('# min form'); jquery. post ('submit. folkesundhedsprogrammet, myform. serialize(), function() {indberetning ('data er sendt! ").}), jquery giver også,'serializearray "metode, som er beregnet til at blive anvendt til mange forskellige former, og de,'param, hjælper funktion (under jquery namespace), der kræver en regelmæssig genstand og returnerer en forespørgsel snor, f.eks. var data = {navn:" joe, alder: 44, erhverv: "web" '); jquery. param (data); //= > "navn = joe & alder = 44 & erhverv = < wbr > web + entreprenør", 4.stadig noget, jquery er,'animate, metode er sandsynligvis den mest fleksible af jquery metoder.den kan bruges til at give næring til alt, ikke bare css egenskaber, og ikke bare dom elementer.dette er, hvordan du vil normalt bruger,'animate ":, jquery ('# boks). manipulerer ({tilbage: 300, top: 300}), når du angiver en ejendom animere (f.eks.'top") jquery kontrol for at se, om du er inspirerende noget med stil ejendom (,'element. stil "), og den kontrol, hvis den angivne ejendom (,'top") er defineret i henhold til'style ", - - hvis det ikke er så enkelt jquery opdateringer,'top, selve dette element.her er et eksempel:, jquery ('# boks). manipulerer ((top: 123, fu: 456}),'top ", er et gyldigt css ejendom, så jquery vil opdatere,'element. stil. top", men'foo, er ikke en gyldig css ejendom så jquery blot vil ajourføre,'element. foo,., kan vi bruge det til vores fordel.lad os sige, for eksempel, at du ønsker at animere en plads på et lærred.lad os først definere et enkelt konstruktøren og en,'draw "metode, som vil blive kaldt på hvert trin af informationskampagne:, funktion. (cnvs, bredde, højde, farve) {. x = 0. y = 0, this.width = bredde; this.height = højde this.color = farve; this.cheight = cnvs.height; this.cwidth = cnvs.width; this.cntxt = cnvs. getcontext ('2d)} square.prototype.draw = function() {. cntxt. clearrect (0, 0, this.cwidth, det her. cheight); this.cntxt.fillstyle = this.color; dette. cntxt. fillrect (. x, y, this.width. dette. højde)} vi har skabt vores";. 'konstruktør, og en af sine metoder.at skabe et lærred - - og så inspirerende, det ikke kunne være enklere: //skabe en < lærred /> element var lærred = $(< lærred /> '). appendto ('body (< wbr >) [0] canvas.height = 400; canvas.width = 600; //instantiate square var square = ny firkant (lærred, 70, 70, rgb (255,0,0)'); jquery (.). manipulerer ((x: 300, y: 200} {//"drage" skal opfordres til hvert skridt //af informationskampagne: skridt: jquery. fuldmagt (square, "drage"), varighed: 1000}); det er et meget enkelt virkning, men det er klart påvise muligheder.du kan se det i aktion: http://jsbin.com/ocida (dette vil kun fungere i browsere, der støtter html5 lærred) 5.jquery.ajax returnerer den xhr objekt, jquery er ajax almennyttige funktioner (,'jquery. ajax ",'jquery. kom,'jquery. post,) alle vende tilbage en,'xmlhttprequest, ting, som du kan bruge til at udføre følgende operationer på enhver anmodning.for eksempel, var currequest; jquery ('button. makerequest). < wbr > klik (function() {currequest = jquery. kom ('foo. folkesundhedsprogrammet, funktion (reaktion) (indberetning ('data: + svar. responsetext))))); jquery ('button. cancelrequest ') < wbr >. klik (function() (hvis (currequest) (currequest. abort(); //abort() er en metode til xmlhttprequest}}); her skal vi gøre en anmodning, når den,'makerequest, knappen er trykket, - - og vi aflyser det aktive anmodning, hvis brugeren klik den,'cancelrequest, button.en anden potentiel brug for synkron anmodninger:, var myrequest = jquery. ajax ((url: "foo txt, async: falske}); konsol. log (myrequest. < wbr > responsetext), læs mere om,'xmlhttprequest, formål og også sørge for at kontrollere ud jquery er ajax værker.6.skik køer, jquery har en indbygget i kø mekanisme, der er anvendt af alle sine informationstiltag metoder (som alle brug, animate(), virkelig).dette kan illustreres i let med en simpel informationskampagne:, jquery (»a«). den (function() {jquery (dette). manipulerer ((< wbr > paddingleft: + = 15px '})}, function() {jquery (dette). manipulerer ((< wbr > paddingleft: - = 15px'})}), hurtigt, der svæver over en masse ankre, og så der svæver over dem igen vil medføre animeringer kø forekomme på et tidspunkt - - er jeg sikker på, at mange af jer har oplevet det i kraft før.hvis ikke, tjek lige det her: http: //////////////jsbin. kom /aqaku,,,'queue "metode, svarer til de velkendte, hver" metode i, hvordan det er.du passerer en funktion, som senere vil blive opfordret til hvert af de elementer i indsamling, jquery (»a«). kø (function() {jquery (dette). addclass ('all - < wbr > gjort). dequeue().}), at kun en funktion,'queue "vil det fungere, der føjes til misligholdelse,'fx, stå i kø, dvs. den kø, der anvendes af alle animeringer, udført af jquery.derfor er denne funktion vil ikke blive kaldt, indtil alle nuværende animeringer, der forekommer på hvert enkelt element i indsamlingen (i dette tilfælde alle ankre) have fuldført. se, at vi er ved at tilføje en klasse,'all-done "i funktion.som skitseret i den her klasse kun vil ske, når alle nuværende tegnefilm, er fuldført.vi er også, at de,'dequeue "metode.det er meget vigtigt, da det gør det muligt for jquery at fortsætte med den kø (dvs. det lader jquery ved, at du er færdig med det, du laver.jquery 1.4, er en anden måde at fortsætte køen; i stedet for at kræve,'dequeue ", bare ringe til det første argument over for deres funktion:, jquery (»a«). kø (funktion (< wbr > nextiteminqueue) (//fortsat kø: nextiteminqueue().}), det er nøjagtig samme, selv om det er lidt mere nyttigt, da det kan kaldes overalt inden for deres funktion, selv i et rod af lukkeanordninger, der typisk ødelægge, det, nøgleord).selvfølgelig, pre-jquery-1.4 du kunne spare en henvisning til det ", men det ville blive en smule irriterende. at tilføje en funktion til en sædvane i kø, blot at videregive deres skik kø navn som det første argument og den funktion, som den anden:, jquery (»a«). kø (< wbr > customqueuename, function() (//gør ting jquery (dette). dequeue (< wbr > customqueuename)}), bemærker, at eftersom vi bruger ikke misligholdelse,'fx, stå i kø, er vi også nødt til at give vores kø navn til,'dequeue" metode, for at gøre det muligt at fortsætte med vores skik jquery kø, læse mere om,'queue ",'dequeue", og'jquery. kø,. 7.tilfælde namespacing, jquery er en måde for dig at namespace begivenheder, som kan være meget nyttige, når de skulle fremsætte plugins og tredjemands komponenter.hvis det er nødvendigt, at brugeren af din stik af effektivt kan slå din stik af med unbinding alle tilfælde står, at det er registreret, at tilføje en namespace ved registreringen af en begivenhed, ikke blot suffiks tilfælde navn med en periode og derefter din enestående namespace (f.eks. fooplugin "), jquery.fn.foo = function() {. bind ('click. fooplugin, function() (//gør ting}). bind ('mouseover. < wbr > fooplugin, function() (//gør ting}); tilbage.}; //anvende stik af: jquery (»a«). foo(); //ødelægge dens tilfælde, der håndterer: jquery (»a«). slip (. < wbr > fooplugin"), at kun namespace,'unbind, vil frigøre alle tilfælde kontakter med namespace, konklusion, så selv.- dem har jeg gået glip af?alle nyttige elementer, som du føler jquery ikke dokument godt nok?lad os diskutere i bemærkningerne.,



Previous:
Next Page: