, plezier en doek: het creëren van een BAR « 1,,,,,,,,,,, delen, deel 4,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, in deze twee delen van de serie, we zullen met de functie van het element en de sterke) bibliotheek voor het creëren van een grafische plug - ins.In het eerste deel, zullen we met een onafhankelijke versie ter voorbereiding van de kern - logica.,,, vandaag, creëren we een patroon in.Niet een gewone plug, weet je.We zullen zien wat liefde is het element om te komen tot een zeer krachtige plug.In deze twee delen van artikelen, dan beginnen we vanaf het begin van de logica van de plug - in als een onafhankelijk script, de wederopbouw van een plug - in de ogen, en dan extra snoep wordt op de code.In het eerste deel, zullen we de kern van de afzonderlijke behandeling van logica, een voorbeeld nodig, voordat we beginnen?Hier ga je.De verschillende in kaart te brengen, en om de verschillende instellingen, de plug, tevreden?Nog steeds geïnteresseerd?Laten we beginnen met de,,,, - die nodig zijn voor de voltooiing van onze fundamentele dingen, in plaats van wat andere dingen.Laat ik duidelijk zijn: de, en, zoals gewoonlijk, we zullen alleen maar gebruik maken van het element en javascript.Geen foto, geen gebroken CSS - technologie, niet voor de show.Oud of nieuw?)En wat is het element van onze werklast te verlichten, met betrekking tot de bron van gegevens, zullen we alle rechtstreeks van de normen van de gegevens.In het begin, geen satelliet kan via de « plugin ».Zo kunnen de gebruikers van alle gegevens in een tabel, en dan bellen we plug - ins.Bovendien is het gemakkelijker toegankelijk zijn, geen bijzondere kenmerken als een bron van gegevens in de tabel als bron van gegevens, en natuurlijk ook de gegevens van de naam geen speciale eenheid.We zullen alleen maar gebruik maken van de identiteit van de tabel, en alle gegevens van daar bleef.De etikettering, waardoor deze kaart is geen kwetsbare tekst toegevoegd.Het is niet alleen zeer ingewikkeld, maar dat is niet de tekst van een deel van de kaart, als het wordt bewaard.We zullen moeten gebruiken, filltext, stroketext, WHATWG, door de definitie van de normen.,, afhankelijk van de wereld, we verdiepen, nog niet volledig aangewezen technische, we hebben er een paar af.Het werk voor de elementen, de meeste moderne browser is genoeg.Maar, omdat we het gebruik van de nieuwe tekst van die interfaces, moeten we de bijgewerkte versie.De motor van meer dan r433xx verplaatsen of gekko motor 1.9.1 browser moeten een plug - in meer dan uitstekende platforms.Stel ik voor we beginnen, elke avond een chroom of is een browser, wat ik wil zeggen is dat we van de « plugin » uitsluitend met het oog op de toepassing van de studie.Dit ding is niet in de plaats komen van andere grafische plug - ins als volwassen, plotr, enz.Dezelfde code zo gedetailleerd mogelijk.Je kunt schrijven, ver, ver weg van de code, efficiënter, maar om te leren, en alles zou zo eenvoudig mogelijk zijn.Voor de wederopbouw van de efficiëntie van de vrije keuze van de code.,http: //europa.eu.int), <.DOCTYPE html> <html lang="en-GB"> <head> <title>OMG WTF HAX</title> </head> <body> <table width="200" border="0" id="data"> <tr> \t<th>Year</th> \t<th>Sales</th> </tr> <tr> \t<td>2009</td> \t<td>130</td> </tr> <tr> \t<td>2008</td> \t<td>200</td> </tr> <tr> \t<td>2007</td> \t<td>145</td> </tr> <tr> \t<td>2006</td> \t<td>140</td> </tr> <tr> \t<td>2005</td> \t<td>210</td> </tr> <tr> \t<td>2004</td> \t<td>250</td> </tr> <tr> \t<td>2003</td> \t<td>170</td> </tr> <tr> \t<td>2002</td> \t<td>215</td> </tr> <tr> \t<td>2001</td> \t<td>115</td> </tr> <tr> \t<td>2000</td> \t<td>135</td> </tr> <tr> \t<td>1999</td> \t<td>110</td> </tr> <tr> \t<td>1998</td> \t<td>180</td> </tr> <tr> \t<td>1997</td> \t<td>105</td> </tr> </table> <canvas id="graph" width="550" height="220"></canvas> <script type="text/javascript" src="jquery.js">< /scripts > < script type = "tekst /javascript" src = "mokka. J 's" > < /scripts > < /body > < /html >, geen speciale etikettering.Ik zal een korte samenvatting, laten we beginnen., met inbegrip van de nodige documenten.Omdat we met behulp van het element, gebruiken we een geschikte: //europa.eu.int /comm /5.En dan de definitie van de gegevens in tabel.Geen speciale aandacht, met zijn beschrijving of nieuwe categorie gedefinieerd en voor de distributie van haar leden.Deze specifieke elementen van de doek gaat hier gewoon als onafhankelijke versie.In de versie van het element « plugin », en dynamische eigenschappen worden geïnjecteerd in de DOM en controle nodig.De geleidelijke verbetering van deze werken veel beter. En, ten slotte, met inbegrip van bibliotheek en we dit pas het script.Net als Jeffrey herhaaldelijk genoemd, met inbegrip van de in het dossier aan het einde van het script is altijd een goed idee.Op het doek, en net voordat we javascript, laat het me uitleggen. Coördinaten.De linker hoek van oorsprong, namelijk (0, 0).De oorsprong en de meting van punt, en dan langs de rechterkant en voortdurend toeneemt, langs de toename van langs links.Voor de wiskunde op de helling, we doeltreffend werk op de vierde kwadrant, met uitzondering van de absolute waarde van ons nemen, in plaats van het negatief.Als je in de andere talen van de grafische, je moet hier in huis.Het doek te coördineren, rechthoekig en routines, doek rechthoek die routine zullen worden toegepast op de artikelen, die BAR, netwerk - en andere elementen.Weet je nog, laten we deze routine, de drie programma 's, we gebruiken, met strokerect,,, - methode.Met de methode, maar vol maken, rechthoekig, strokerect, methoden voor rechthoekige.Behalve dit buiten, deze twee methoden om dezelfde parameters.- - - - - de coördinaten van de plaats waar te beginnen de tekening, - - - - over de oorsprong van de coördinaten.- de definitie van, breedte, de breedte van de rechthoek, en de hoogte van de definitie, - de hoogte van de rechthoek.,,, javascript magie, zoals altijd, adviseer ik u de bron en het downloaden van de kant van de referentie.Dit is makkelijker te zien en voor elke functie van grote foto 's zien in elke functie alleen in je hoofd, en dan het grote scherm.Verklaring var, variabelen,, barspacing = 20, barwidth = 20, cvheight = 220, numylabels = 8 = 20 gwidth xoffset, = 550, gheight = 200; var Maxval, waarde = [] = [...], xlabels, ylabels = [...]; var - cv, grafieken, de variabele, xlabels, Een - het behoud van de waarde van het etiket van de X - as, ylabels -.,, loc. Cit., behalve dat ook de y - as - waarde), waarin alle grafische gegevens, we hebben de bron van gegevens.,, cv, variabele wijst op het element van ctx.,,, de Variabele elementen die in de context van het doek.Kaart van de keuze van de variabelen die in het bezit van de waarde van de harde code, om ons te helpen de grafische en personen van de positie en de indeling van de BAR.,, barspacing, de definitie van de afstand tussen de staven tussen particulieren.,, barwidth, de definitie van elk individu in de breedte van de kolom.,, cvheight, de definitie van de hoogte van het doek element.Codering hard, omdat we het doek voor de elementen.In deze functie in verschillende versies. Numylabels,,, de definitie van etikettering van de hoeveelheid zal worden opgesteld op de y - as, de definitie, de xoffset, het begin van de elementen en de kaart van het doek van de ruimte tussen.Voor het opstellen van de y - as. Deze ruimte gwidth, gheight.,,, de waarde van de grafische codering hard om de feitelijke weergave van de dimensie van de ruimte zelf.,,, hoe de controle van elke variabele figuur verscheen, pak de waarde: krachtige motor heel makkelijk kunnen we onze gegevens nodig.Hier hebben we een manier om toegang te krijgen tot de noodzakelijke elementen.Laat het me uitleggen wat, $("TR"). De kinderen ("TD: uitzonderlijke"), elke (functie) (///////de code hier}); om de nodige regels van de meest eenvoudige manier.- dan zoeken, TR en toegang tot andere, TD, yuan.Als je er meer dan een tafel op je webpagina 's, is mislukt.En $("# gegevens"). ("TD: uitzonderlijke"), elke (functie) (///////de code hier}); en een meer directe aanpak.In de tabel wordt ons door, en naar een andere bank.En $("# gegevens tr TD: uitzonderlijke"), elke (functie) (///////de code hier});, zoals hierboven, maar we gebruiken alleen de CSS - taal.En $("# gegevens tr TD:nth-child (2)"). Elke (functie) (///////de code hier}); en we moeten met de huidige versie.Als het moet, indien nodig, we moeten het verkrijgen van gegevens van verschillende lijnen, dat zou beter zijn, als het nodig is, veel.De laatste versie, ziet er als volgt uit:, de functie grabvalues () {///////toegang tot de benodigde formulieren van de waarde van de eenheid, de winning van installatie toe te voegen aan de waarde van het.$("# gegevens tr TD:nth-child (2)"). Elke (functie) (waarde. Duw (% (dit). ()) ///////.}); toegang tot de vereiste vorm van eenheid, tot een stijging van de waarde van de winning van xlabels).$("# gegevens tr TD:nth-child (1)"). Elke (functie) (xlabels. Duw (% (dit). ());});}, hier niet ingewikkeld.We gebruiken de hierboven genoemde toe te voegen aan de waarde van de waarde van de cel, stukje Code Generator.We hebben dezelfde, behalve onze toegang tot de eerste tabel voor de winning van eenheid, voor het etiket van de as.We hebben de gegevens van de logica van de verpakking, het hergebruik van de code en de leesbaarheid van het canvas.,, -, de functie initcanvas () {///////probeert toegang te krijgen tot een verkeerde doek gooien elementen en, indien niet beschikbaar, cv = $("# kaart") (0); als (!CV) {terugkeer; ///////.} om twee achtergrond als niet ctx = CV geeft een vergissing. GetContext (2); als (!Ctx) {terugkeer;}}, het starten van routine.Ten eerste, we proberen toegang te krijgen tot het doek elementen zelf.Als dat niet gebeurt, zullen we gooien een fout.We proberen een referentie - die context door, getContext methode geeft een fout, en als we dat niet doen.,,, functie, als we in de grafische weergave van de werkelijke zelf, voordat we moeten kijken in het proces om sommige van onze praktische programma 's functioneren.Ze zijn gemaakt van kleine zelf, maar wel in onze code in algemeen gebruik. De vaststelling van de maximale waarde van de functie, en maxvalues (ARR) {Maxval = 0; (i = 0; ik < arr.length; I + +) {als (Maxval < parseint (ARR [M])) {Maxval = parseint (ARR [M]);}} Maxval * = 1,1;}, een functie die via de opstelling en bijwerking van, Maxval, veranderd.Let op, we hebben een speciale maximum van 10%.Indien de maximale waarde van vertegenwoordigers van de hoogste waarde komt, dan wordt aan de rand van het element van de BAR, en dat willen we niet.Met dit idee van een bijkomende uitgifte, 10%., de waarde van de normalisatie, de functie scale (parameters) {terugkeer wiskunde. Ronde ((parameters /Maxval) * * * gheight);}, een kleine waarde ten opzichte van de functionele specificatie van het gewonnen van de hoogte van de elementen.Deze functie is op grote schaal gebruikt voor andere functies, en rechtstreeks in de waarde van de in de code ons uitgedrukt als een functie van de hoogte van de doek.Moet een parameter, de terugkeer van de X - coördinaat, functie X (parameters) {terugkeer (Param * barwidth) + ((parameters + 1) * * * barspacing) + xoffset;}, terug naar de X - coördinaat, gebruikt, om ieder van ons te staven.Ik zal dit uitleggen in een bij het gebruik van de y - as terug, Y (parameters) {terug gheight scale (parameters);}, terug naar de y -, gebruikt, om een ieder van ons de locatie van de BAR.Later uitleggen.De breedte van de functie, terug, de breedte () {terug barwidth;}, terug naar de breedte van elk gebied.De hoogte van de functie, terug, hoogte (parameters) {terugkeer omvang (parameters);}, terug naar de BAR om de hoogte.Het gebruik van, de omvang, de functie van de normalisering van de waarde, en dan terug naar de noemen.De X - as, grafieken, etikettering, drawxlabels () {ctx. Save (); ctx.font 10 pixels = "" Arial "; ctx.fillstyle =" "; voor (index = 0; index < gvalues.length; index + +) {ctx. Filltext (xlabels [-] X (index), gheight + 17);} ctx. De ();}, een eenvoudige taak is de X - as van de etikettering.We redden het doek van de huidige staat van alle instellingen, met inbegrip van maken, zodat we een functie niet laten doen.Dan stellen we de omvang en de stijl van de etikettering.We gaan, xlabels, - en de methode, filltext en etikettering, elke keer.We zijn *, functie, om ons te helpen op het etiket van de locatie.En de y - as, grafiek drawylabels () {etiket, de functie van de ctx. Save (.); voor de (index = 0; index < numylabels; index + +) {ylabels. Duw (wiskunde. Ronde (Maxval /numylabels * * * * * * * (index + 1)); ctx.fillstyle = "# 000 filltext (ylabels"; de ctx. [-], xoffset, Y (ylabels [-]) + 10);} ctx. Filltext ("0", gheight xoffset, + 7); cyclofosfamide. De ();}, een enigszins gedetailleerd functioneren.In de eerste plaats de huidige staat behouden we doeken, en blijven.De volgende stap zal zijn Maxval, waarde, als' n element in de variabele, numylabels, als gevolg van deze waarden zullen worden toegevoegd aan de ylabels,,).Nu, zoals hierboven is aangegeven, en filltext, voor doeleinden van individuele etikettering, door ons te helpen in de functie van elk etiket geplaatst.Zullen we op de bodem van een etiket op het doek af getrokken.,, de schema 's, drawgraph () {(index = 0; index < gvalues.length; index + +) {ctx. Save (); ctx.fillstyle = "# b7b7b7"; de ctx. Met behulp van (index) (x, Y (waarde [-]), de breedte (hoge Waarde ([), index)); de ctx. ();}}, grafieken, die de werkelijke BAR.Die netwerken, waarde heeft, en elke man.We gebruiken, met een schilderij van de methode van de BAR.Zoals hierboven is uiteengezet, moet de methode van de vier parameters, elk is een nuttige functie door onze zorg.De huidige cyclus index doorgeven aan onze functie, als in de reeks parameters en de werkelijke waarden.Elke keer, dit is de som van de waarde van de bijkomende, barwidth,, barspacing, variabelen.De functie van het element wordt berekend, en de hoogte van de normalisering van het verschil tussen de gegevens, en de terugkeer van de functie.Ik weet het, het klinkt een beetje rotzooi, maar dat is omdat de y - waarden in naar beneden en de verhoging van de kaart in onze actie leiden tot verhoging van de waarde van het netwerk van Y.Daarom moeten we een beetje werk gedaan, het functioneren van de manier waarop we willen.De breedte van de functie, weer een kolom van hun breedte en hoogte van de normale waarde, de functie terug zal worden gebruikt voor de hoogte van de kolom worden opgesteld.Samengevat, in het eerste deel, we hebben ons gerealiseerd wordt als een onafhankelijke versie en de kale botten eruit ziet en de functies van de logica.We bekeken de doek coördinatenstelsel, rechthoekig methode voor de vaststelling van de extractie van gegevens met behulp van een mooie) natuurlijke charme [heb ik gezegd dat hoe graag ik dit?Kijk hoe de etikettering worden uitgestippeld, eindelijk een kijk op de kaart van de logica zelf brengen.De in dit artikel aan het einde van de produktie zou moeten zijn.Op dit moment is de uitvoering, we hebben een groot gebrek aan.Het lijkt gewoon niet op dezelfde pagina 's, de oprichting van meerdere grafische, laten we het onder ogen zien, en de voor de functie van Sparta.We zullen het volgende week om alle problemen op te lossen.In het volgende artikel zullen we onze code:,, de wederopbouw van de « plugin »), zodat het volwassen, nog een catch - the -, met inbegrip van een mooi klein.,, het probleem?De kritiek?Een compliment?De opmerkingen worden geraakt.Bedankt voor het lezen, als je er klaar voor bent, blijven tot het tweede deel.,, op Twitter ons volgen, of abonnementen nettuts RSS - feeds meer training en ontwikkeling van de website van het dagelijkse.,,,