kodning din første jquery - stik af

, kodning, din første jquery - stik af,,,,, 1,,,,,,,,, 5,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, jquery indeholder, fodnote extend(), metode, som gør jquery skulle fremsætte plugins ganske let, der gør det muligt for os at skrive kode, som anvendes på samme måde som andre jquery metoder.- jquery indeholder også strukturer, som gør jquery skulle fremsætte skik - plugins let.så det er det, vi skal se på i løbet af denne forelæsning.de metoder, der anvendes, afviger fra den normale jquery plugins, og der er strengere konventioner, der bør følges, hvilket er grunden til, at jeg mener, emnet fortjener en artikel.,,,,,, i løbet af denne forelæsning, så skal jeg vise dig de koder konventioner og generelle retningslinjer, der skal følges, når jquery skulle fremsætte plugins for eu - erhvervsgrenen.vi vil skabe en enkelt stik af, at kun tilføjer billedtekster til billeder på den side.det er med fuldt overlæg enkle, så vi kan fokusere på, hvad der er nødvendigt for at få en jquery - stik af uden at blive tabt i kode.nogen har skrevet en jquery stik af, skulle ikke have problemer.viden om jquery - kan hjælpe, men ikke skulle være nødvendigt at fuldføre denne forelæsning.lad os komme i gang. er begyndt, vi får brug for en kopi af jquery samt et par sager fra jquery ui, men det skal være jquery - 8 (dette kan ses på internettet).skabe et register, et eller andet sted på din maskine kaldet, jqueryui stik af, så ind i skabe, css, folder, er, og en mappe, img, folder (de billeder, der anvendes i denne lektion kan findes i kode download)., downloade bibliotek og pakke det ud et eller andet sted findes.vi har kun brug for nogle filer fra arkivet, nemlig jquery kilde fil, som er roden til de arkiver, som jquery-1.4.1. j 'er, og, jquery.ui.core.js, og jquery.ui.widget.js, filer, som er både i, iii, mappe.tag dem og sætte dem ind i, er, folder i deres erhvervsaktive fortegnelse.vi skal lave lette anvendelse af css ramme, så vi får brug for en af temaet stil ark til rådighed med det nuværende stabil version af jquery ui (jeg plejede, - lethed, i dette eksempel)., kommer vi til at lave en captionator dims, så får vi også brug for en side, med en masse billeder, på at udvikle /prøvning af stik af med.dette eksempel anvender følgende side:, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> \t<head> \t\t<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> \t\t<title>jQuery UI Captionator</title> \t\t<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.7.2.custom.css"> \t\t<link rel="stylesheet" type="text/css" href="css/ui.captionator.css"> \t</head> \t<body> \t\t<img src="img/1.jpg" alt="Royal Air Force Eurofighter Typhoon"> \t\t<img src="img/2.jpg" alt="A British military GR-9 Harrier"> \t\t<img src="img/3.jpg" alt="Two RAF Tornado GR-4s pull away from a KC-135 Stratotanker after refueling"> \t\t<script type="text/javascript "src =" js /jquery. er "> < /manuskript > < manuskript type =" tekst /javascript "src =" js /jquery. ui. kerne. er "> < /manuskript > < manuskript type =" tekst /javascript "src =" js /jquery. ui. widget. er "> < /manuskript > < manuskript type =" tekst /javascript "src =" js /jquery. eu - erhvervsgrenen. captionator. er "> < /manuskript > og lt; /organ > < /html > vi vil holde det enkelt for nu. vi har kun tre billeder på papiret, efterfulgt af fire manuskript filer, tre link til jquery og jquery - kilde filer, fjerde til vores stik af kilde fil, der om kort tid vil vi skabe.det, jquery.ui.core.js, fil kræves af alle jquery ui widgets /plugins.det, jquery.ui.widget.js, filen er den dims fabrik og giver mulighed for skabelse af sammenhængende widgets at dele fælles api - funktionalitet.de fleste bibliotek komponenter kræver det, og vi vil bruge det til at skabe vores stik af. at skabe stik af sagsakter, skabe en ny javascript fil og redde det, jquery.ui.captionator.js i, er, at jquery mappe. vi bør holde eu - erhvervsgrenen er navngivningskonvention, som lige er blevet ajourført i 1,8 version af biblioteket og brug, jquery. eu - erhvervsgrenen. plugin_name. js,.der tilføjes følgende kode til det nye dossier: (funktion ($) {}) (jquery), alle af den kode, der udgør vores stik af, skal være indeholdt i en self - executing anonyme funktion.den jquery objekt er gået ind i denne funktion, og som anvendes i funktion via $, alias; det er for at sikre, at stik af, er forenelig med jquery er, noconflict() metode.det er et bestemt krav og skal altid overholdes. nu skal vi definere de stik af og tilføje følgende kode til vores anonyme funktion: $. widget ("eu - erhvervsgrenen. captionator" (}), mønster for anvendelse af widget - fabrik, der er let at anvende, vi bare kalde det, widget() metode med angivelse af navnet på den stik af, som det første argument, og et objekt bogstaveligt, der indeholder de egenskaber og metoder, der gør det stik af funktion.dette betyder, at vores stik af at blive kaldt (og skabt) ved hjælp af commen jquery syntaks, $("element_caption_applied_to"). captionator(), ligesom alle andre jquery eller jquery ui metode. den dims fabrik er en række af disse egenskaber og metoder for os. for eksempel kan vi fastsætte standardløsninger til stik af med de muligheder, ejendom, og tilføje en initialisering funktion, der udføres automatisk af widget - fabrikken, så snart et tilfælde af stik af, er gældende.inden for den genstand, der står som det andet argument i den foregående kodeks tilføje følgende kode:, optioner: {sted: "bunden", farve: "# fff", backgroundcolor: "# 000"), og disse er de eneste muligheder, vi bruger i vores eksempel stik af brugere (og af brugerne, mener jeg. iværksætterne, ikke slutbrugere) af stik af kan angive placeringen af post til enten være på toppen af det image, som den kaldes eller på bunden, kan de angive farven af teksten om teksten, eller at ændre den baggrund farve af den overskrift.at ændre en konfigurerbare mulighed for en jquery - dims forud for initialisering af entreprenør vil bare bruge noget som dette:,, $("element_caption_applied_to"). captionator ((adresse: "top"}), siden vi kan skabe vores initialisering funktion efter muligheder objekt tilføje følgende metode:, _create - function() {var selv =, o = self.options, el = self.element, fælles landbrugspolitik = $(< span > < /span > "). tekst (el. attr (" alt "). addclass (" eu - erhvervsgrenen widget - legende css ({"). backgroundcolor: o.backgroundcolor, farve: o.color, bredde: el. width()}). insertafter (el), capwidth = el. width() - parseint (kap. css (" paddingleft ") - parseint (kap. css (" paddingright "), capheight = fælles landbrugspolitik. outerheight() - parseint (den fælles landbrugspolitik.css ("paddingtop") + parseint (kap. css ("paddingbottom"); fælles landbrugspolitik. css ((bredde: capwidth, top: (o.location = = = "top").el. offset(). top: el. offset(). top + el. height() - capheight, venstre: el. offset(). venstre, display: "blokke"}); $(vindue). resize (function() {fælles landbrugspolitik. css ((top: (o.location = = = "top").el. offset(). top: el. offset(). top + el. height() - capheight, venstre: el. offset(). venstre})})}, den metode, der hedder bør begynde med en understrege, som jquery ui forhindrer enhver stik af metode, der begynder med understrege, at blive kaldt udefra af stik af, - dette forhindrer, at det ved et uheld ringede fra html side.enhver metode, som vi begynder med en understreger, er beskyttet på denne måde. størstedelen af vores initialization metode er en række variabler, i vores funktion nøgleordet her henviser til en genstand i den metode, som repræsenterer de tilfælde af stik af.den første variabel depoter en henvisning til den aktuelle tilfælde af stik af. den, _create, metode kaldes for hvert element, at stik af metode er blevet anmodet om, og som kan være et enkelt element eller flere. vi kan få adgang til standardløsninger, af stik af (som er det automatisk, hvis de iværksætter konfigurerer nogen af dem. ved hjælp af muligheder, tilhører den genstand, vi cache det i den anden variabel.det element, som det stik af metode (, captionator()) blev anmodet om, og som i dette eksempel ville være et billede, kan findes ved hjælp af element, ejendom af objektet.vi opbevarer det i den tredje variabel. bruger vi den fjerde variable opbevarer en henvisning til den nye post element, som er bygget af en enkelt < span >,;, < span >, er, innertext, fastsat til, alat, attribut i nuværende billede, og flere klasse navne er føjet til det, vi giver dem, - dims, klasse navn, så det kan hente nogle misligholdelse på vej fra den nuværende jquery - tema.vi giver også en skik klasse navn, så vi kan tilføje nogle af vores egen stil. nu skal vi fastsætte nogle css egenskaber; vi vil bruge en særlig stil status for nogle stilarter, men visse ting, såsom, farve og baggrund, farve, styles kan styres via konfigurerbare muligheder, så vi er nødt til at sætte disse ved hjælp af stik af.bredden af den post skal matche bredden af det image, som det overheads, så er vi også nødt til at afgøre dette, og det programmatically.endelig er den nye < span >, injiceres side direkte efter målet image., når teksten er blevet indføjet, det skal være dimensioneret og placeret. den eneste måde, det kan være dimensioneret nøjagtigt er, hvis den eksisterer allerede i dom og har css regler, der gælder for det, den skriftstørrelse.det er grunden til, at vi både den overskrift til side, og bestemme dens nøjagtige mål, som er oplagret i de variabler, capwidth, og capheight,.,, når teksten er blevet føjet til side, og så kan vi arbejde, der er korrekt), bredde, højde og placering af hver post, der vi ved, css(), metode igen.denne tekst er fuldstændig adskilt fra de billeder, de indsættes umiddelbart efter hvert billede, og så kunne synes at overdække med billeder, efter alt det, vi ikke kan sætte de, < span > som et barn af, < img >,. det er fint. indtil browser er ændret, på hvilket tidspunkt de billeder, men den tekst, ikke fordi de er absolut position.for at afhjælpe dette, vi har anvendt en grundlæggende resize kontaktperson, der er knyttet til vinduet, som blot repositions hver post til den nye holdning i sit image.denne begivenhed ikke er det sidste i vores initialization metode, en anden metode, som vores stik af bør afsløre er, destroy(), metode, som er fælles for alle jquery ui plugins.vi skal sørge for en gennemførelse af denne metode for at rydde op efter vores stik af.for eksempel stik af den metode, der kan være så simpelt:, ødelægge: function() {. element. next(). remove(). $(vindue). slip ("resize");}, alt, hvad vi skal gøre, er at fjerne en tekst og befrier vores vindue resize kontaktperson.denne metode kan kaldes en iværksætter ved stik af, så vi ikke skulle begynde denne metode navn med en understreger.efter denne metode, de iværksætter ville bruge $("element_caption_attached_to"). captionator ("ødelægge"), som er en af vores offentlige metoder vil være ringede. er vi nødt til at give en anden metode, kontrollerede /henrettet af den dims fabrik, vi tidligere har set, hvordan en entreprenør kan ændre et konfigurerbare mulighed før til initiativet, men hvad med efter initialisering?dette gøres ved hjælp af den mulighed, der anvendes følgende syntaks: $("element_caption_attached_to"). captionator ("mulighed", "sted", "top"), så vi er nødt til at tilføje den indbyggede metode, _setoption, til at klare dette, _setoption: funktion (option, værdi) {%. widget. prototype. _setoption. anvendelse (dette argumenter) var el = this.element, fælles landbrugspolitik = el. next(), capheight = fælles landbrugspolitik. outerheight() - parseint (kap. css ("paddingtop") + parseint (kap. css ("paddingbottom") skift (option) {"sted": værdi = = = "top").fælles landbrugspolitik. css ("top", el. offset(). top): fælles landbrugspolitik. css ("top", el. offset(). top + el. height() - capheight); bryde; sag "farve": el. next(). css ("farve" værdi); pause. "backgroundcolor": el. next(). css ("backgroundcolor" værdi); pause.}}, vi starter denne metode med et særligt, fordi de iværksætter anvendelser, valg, ikke, _setoption til rent faktisk at ændre de valg, vi behøver ikke at bekymre dig om, hvordan det håndteres, er vi nødt til, at give denne metode til at håndtere noget særligt til vores stik af.da denne metode allerede findes i den dims fabrik burde vi ringe til det oprindelige metode, som vi gør for det første i vores metode med en prototype af, dims, genstand, med angivelse af metoden navn (, _setoption, i denne sag, men vi kan gøre det for andre indbyggede metoder samt) og anvendelse, gælder, at ring til det.så kan vi gå videre med den kode, der svarer til vores stik af. den funktion automatisk vil få to argumenter, der er mulighed for at ændre og den nye værdi.vi cache noget almindeligt anvendte elementer, såsom billede og overskrift, og indhente de nuværende højde for hver enkelt post.vi så bruge et enkelt skift sag erklæring til at håndtere alle vores tre muligheder bliver ændret.hvis den tekst er den mest komplekse, men er stadig temmelig banale og lignende, hvordan vi placeret dem i første omgang., at begivenheder, er det vigtigt at tilføje, at entreprenører bruger din stik af begivenheder kan tilføje callbacks for, således at de kan reagere på forskellige ting, der sker, når brugerne interagerer med den dims på en eller anden måde.den dims fabrik behandler størstedelen af denne opgave for os alle, vi skal gøre, er at udløse begivenhed.dette stik af betyder ikke så meget, men vi kan udløse en begivenhed efter hver overskrift tilføjes til side for at gøre dette tilføje følgende kode umiddelbart før det resize begivenhed -, self. _trigger ("ekstra", for den fælles landbrugspolitik), det er alt, hvad vi skal gøre.en enkelt linje kode, og vi har en speciel begivenhed, som kan være reagerede på.vi kalder den, _trigger(), metode af stik af instans (som vi opbevares i den variable, selv) og give den metode, tre argumenter: det første er navnet på de omstændigheder, den anden til tilfælde objekt (, vi behøver ikke at bruge det i vores eksempel stik af, og det er derfor, nul, værdi), og den tredje er en henvisning til den legende element.widget - fabrikken vil automatisk give tilfælde objekt (hvis monteret), og de data, vi vedtager i tredje parameter til en callback - funktion, der anvender ekstra begivenhed.en entreprenør kan få ind i dette tilfælde ved hjælp af følgende syntaks: $("element_caption_attached_to"). captionator ({: funktion (e -) (//gør ting}), satte de stik af, vi behøver kun en meget lille stil status for vores stik af, bogstaveligt talt, vi har kun tre styles.det er næsten ikke engang værd at skabe en separat fil til styles.men vi vil således skabe et nyt filen, iii. captionator. css,, som er krævet format for stik af stil ark, og gem det i, css, fortegnelse.der tilføjes følgende stil:,. eu - erhvervsgrenen overskrift (display: ingen. position: absolut; polstring: 10px;}, det er alt der er til det.vores stik af nu er funktionelt og visuelt fuldstændigt.denne tekst skal anføres som denne:,,, sammendrag, som jquery er stik af oprettelse metode, fodnote extend(), jquery, eu - erhvervsgrenen har også sin egen mekanisme, der gør det muligt for udviklere hurtigt og nemt kan skrive en robust og skalerbare plugins, der opfylder jquery - projekter, høje standarder, men i forhold til, hvad det egentlig betyder for os, - endnu bedre, at jquery.den dims fabrik er blevet oprettet på en sådan måde, at stort set alt det hårde arbejde er taget ud af vane stik af arbejdspladser. det er let at arbejde med de metoder, der er fastsat i den dims fabrik at tilføje metoder til vores plugins, der er fælles for hele eu - erhvervsgrenen widgets, såsom, ødelægge og mulighed, metoder gennemførelse af entreprenører, der ville forvente at finde i et stik af.vi så også bare, hvor nemt det er at udløse skik begivenheder, der kan anvende til at reagere på interaktioner mellem eller hændelser med widget.,, følger os på twitter, eller abonnere på nettuts + rss foder til den bedste web udvikling tutorials på nettet.,



Final Product



Previous:
Next Page: