, skabe en vinduer som grænseflade med jquery ui,,,,, 1,,,,,,,,, 90,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke gå glip af det.,,,,, har du nogensinde ville skabe en interaktiv brugergrænseflade for din ansøgning, men vidste ikke hvordan?i denne forelæsning, vil vi skabe en vinduer som grænseflade hurtigt og let ved at komme ned og beskidt med jquery ui, en brugergrænseflade bibliotek på toppen af jquery.,,,,, hvad der præcist er jquery ui?,,,, jquery ui er abstrakte for lav interaktion og animation, avancerede virkninger på højt niveau, themeable widgets.,, jquery - har altid været et fremragende værktøj i alle undtagen udviklerens kit.det er en masse forskellige widgets og virkninger, der er smukt lavet til at arbejde med de fleste browsere.ønsker en hurtig måde at skabe en tabbed interface?- jquery har dem!ønsker at skabe en modal replikker?det er også dem!i denne forelæsning, vil vi lære at bruge jquery - at skabe en meget funktionel brugergrænseflade uden brug af noget andet.sidst, du burde være bekendt med jquery ui, nogle af dens komponenter og grundlæggende forståelse af jquery ui tilpasning.vi skal bygge en brugergrænseflade beslægtet med vinduer med dialog kasser, der er draggable, resizable, minimizable og maximizable.,, føle sig fri til at ændre det til dine behov, men efter min erfaring, at det er en god måde at tilrettelægge din hjemmeside er ressourcer. efter udvinding af dine filer, skabe en index.html, fil, som indeholder vores side er html.indholdet af html dossier skal være som følger:, <!doctype html > < html > < head > < meta - charset = "utf - 8" > < afsnit > at skabe en vinduer som grænseflade med jquery ui < /afsnit > <!- lad jquery ui css - > < forbindelse rel = "stylesheet" href = "css /film /jquery-ui-1.8.16. skik. css" type = "tekst /css" /> <!- læs jquery, før jquery ui!- > < manuskript src = "js /jquery-1.6.2. min.js" > < /manuskript > < manuskript src = "js /jquery-ui-1.8.16. skik. min.js" > < /manuskript > < /head > < krop > < /organ > < /html >,, trin 2: skabe html for vores dialog, vinduer, lad os begynde med at skabe html for vores dialog, vinduer.i henhold til den dialog, dokumentation, side om jquery - websted, en dialog, rubrik er html er blot et, < div >,.andre html indenfor, < div > bliver indholdet af samtalen kasse.at vide, at skabe en enkel, dialog, rubrik vindue, og luk den op ved hjælp af jquery ui., modtaget følgende kode til, < krop > af html fil:, < div id = "dialog_window_1" klasse = "dialog_window" afsnit = "dette er vores første dialog vindue" > < p > - verden!< /p > < /div > så indlede, dialog, rubrik ved udførelse af denne javascript.kopi af følgende kode indenfor, < head > af html fil:, < manuskript > $(dokument). - (function() {$('# dialog_window_1'). dialog().}). < /manuskript > når du opfriske den side du skulle se sådan noget:,,, hallo!,, initialiserer en, dialog, rubrik kan gøres ved at kalde det, $(element_id). dialog(), funktion.og som du kan se, er vores indhold i, < div >, vil blive omregnet til indhold for dialogen kasse. nu, skabe en enkel måde at skabe nye replikker, rubrik i, dialog kasse.erstatte, hallo!, code inside our initial ,Dialog, box with the following:, <h3>Create a new <code>Dialog</code> Window</h3> <table class="dialog_form"> \t<tr> \t\t<th>window Title</th> \t</tr> \t<tr> \t\t<td><input type="text" id="new_window_title" /></td> \t</tr> \t<tr> \t\t<th> \t\t\twindow Content \t\t</th> \t</tr> \t<tr> \t\t<td> \t\t\t<textarea id="new_window_content"></textarea> \t\t</td> \t</tr> \t<tr> \t\t<th> \t\t\twindow Buttons \t\t</th> \t</tr> \t<tr> \t\t<td id="buttonlist"> \t\t\t<input type="checkbox" id="alertbutton" /><label for="alertbutton">ALERT</label> \t\t\t<input type="checkbox" id="closebutton" /><label for="closebutton">CLOSE</label> \t\t\t<input type="checkbox" id="clonebutton" /><label for="clonebutton">CLONE</label> \t\t</td> \t</tr> </table>,When you refresh the page, it should look something like this:, \t, ,It looks a tad ugly right now, but don't worry, we'll be adding some customizations to the ,Dialog, window to make it look better, , Step 3: Customizing our ,Dialog, Windows via ,Dialog, Options and CSS,Our ,Dialog, box currently doesn't look very good, but we'll be able to customize it by providing some initialization options to our ,Dialog, initialization code, and of course, some CSS.,Let's replace our initialization code med følgende: $('# dialog_window_1). dialog ((bredde: auto, højde: auto}); lad os også tilføje nogle css i, < head >, vores html:, < stil >. dialog_form. {tekst tilpasse: venstre}. dialog_form textarea,. dialog_form bidrag [type = tekst] (bredde: 320px;} < /stil >,, meget bedre.,, lad os nedbryde nogle af de muligheder, som vi brugte på vores initialization kode:,, bredde - denne mulighed kan man fastsætte en bestemt bredde for deres dialog, rubrik.du kan også fastsætte, at det,'auto ", - - der jquery bredde, højde, - dyanmically, er stort set det samme som, bredde mulighed, men gør det for højde af, dialog, rubrik i stedet for den bredde, der er mange flere muligheder for, at dialogen box, men de fleste af dem med den adfærd, der udvises af den dialog, rubrik.vi vil gå ind på nogle af disse i de senere faser af tutor. nu, hvor vi har en flot, dialog, kasse med en formular indenfor, lad os lægge nogle knapper, at vores dialog, rubrik til at gøre det, gør noget!,, trin 4: at føje en, til at åbne vores dialog, vindue, en af de gode ting ved jquery - er dets modularitet.for eksempel, dialog, rubrik også andre anvendelser jquery - komponenter, som draggable,, resizable, og især på den knap, komponent.,,, knap eksempel fra jquery - dokumentation,,, element giver os mulighed for at skabe knapper med tilpassede funktioner på klikke.samtidig med at det svarer til det emne, vi er monteret med jquery ui, således at ændre emne vil også ændre se knappen, således at udforme ensartede i hele området. for det første, at skabe et, at åbne og lukke vores dialog, rubrik.tilføj det til, < krop > af html:, < "id =" create_button "> skabe en ny rude < /knap >, og sæt det ved at tilføje den til $(nummer). ready(), funktion: $("create_button '). button();,,, sej knap -, eftersom vi laver ting med knapper, lad os omdanne vores, til galochka, knapper, så det ser bedre ud.- er jquery, komponent også kan du genskabe et sæt til galochka eller radio knapper i, buttonset,.for at gøre det, bare skrive følgende kode kode i den javascript blok: $('# buttonlist'). buttonset();, mind side for at se den nye ret veres til galochka:,,, nu hvor, dialog, box, og knap, er, at vi kan ændre deres adfærd, så det, åbner og lukker, dialog,.for at gøre det, ajourføre javascript blok, så vil det se ud som om det: $(dokument). - (function() (//sæt knappen og tilføje et klik - funktion til vores knap så det "ll åbne vinduet $("create_button "). button(). klik (function() {var create_dialog = $("dialog_window_1 "), var create_button = $(det); //hvis vinduet er åbent, så tæt på det og erstatte det i mærkningen af de knap, hvis (create_dialog. dialog (" (") (create_button. knap (" mulighed "," mærke "," skabe et nyt vindue. "); create_dialog. dialog (" tæt ");} andre (//andet, åben vinduet og erstatte etiketten igen create_button. knap (" mulighed "," mærke "," luk vinduet "); create_dialog. dialog (" åbne ");}}); //åbne voresdialog window, but set autoOpen to false so it doesn"t automatically open when initialized \t$("#dialog_window_1").dialog({ \t\twidth: "auto", \t\theight: "auto", \t\tautoOpen : false \t}); \t \t//initialize our buttonset so our checkboxes are changed \t$("#buttonlist").buttonset(); });,Let's go through the code line-by-line:, ,We've added a ,click, function to our ,Button, that opens the ,Dialog, box whenever we click on it.,Additionally, we use the ,$(dialog_id).dialog('isOpen'), method, which returns ,true, if our ,Dialog, is already open, and ,false, if not.,If the ,Dialog, is closed, we open the ,Dialog, window by calling the ,$(dialog_id).dialog('open'), method, and change the ,label, of the ,Button, to “Close window” using the ,$(button_id). knap ('option "), en metode, hvis den er allerede åben, gør vi det modsatte med samme mulighed, metode, button, og $(dialog_id). dialog ('close"), en metode til at lukke, dialog, rubrik. vi har også benyttet sig af en anden, dialog, valg, der hedder, autoopen,.når der er rigtigt, og det giver, dialog, vindue åbner automatisk, når igangsat.hvis ikke, så, dialog, vindue kun kan åbnes ved at $(dialog_id). dialog ('open "), en metode, som den knap gør.,,, funktionelle knapper og til galochka bror, løntrin 5: forøgelse af funktioner til vores dialog, vindue, nu, at dialog - vindue, er i gang, og lad os tilføje funktioner, til at skabe nye replikker, vinduer.først og fremmest, at tilføje nogle knapper til vores dialog.heldigvis har jquery - den funktionalitet at tilføje knapper til, dialog, kasse og vælge, hvad de gør, når trykket.for at gøre det, ændre initialization kode ved at tilføje en, knapper, parameter til det: $('# dialog_window_1). dialog ((bredde: auto, højde: auto, autoopen: falske, knapper: [{tekst: "skaber", klik på: function() {indberetning ('yay, trykket på knappen! ");)]}), som du kan se fra stikprøven kode, vi tilføjede "skaber" knap ved blot at tilføje et, knapper, mulighed for initialization kode.den knap mulighed er en række, json, genstande i følgende format: {tekst: navn på din knap, klik: funktion () (//tilføje ting at gøre, når dosisknappen er trykket}}, at tilføje flere knapper, man kan blot tilføje mere json objekter i samme format til, knapper, vifte.når du opfriske den side, det skal se noget, som så:,,, - trykket på knappen!,, nu vil vi tilføje nogle funktioner til vores knap.fjern, indberetning ('yay, tændte den knap! "); -, linje - og erstatte det med følgende: //kom det samlede antal eksisterende dialog vinduer plus én (1) var div_count = $(". dialog_window). længde + 1 //skabe en unik id på grundlag af det samlede antal var div_id = dialog_window_ + div_count; //- titlen på den nye vindue fra vores form samt indholdet var div_title = $('# new_window_title'). val(), var div_content = $('# new_window_content'). val(); //skaber et system baseret på hvilke knapper af vores for galochka kontrolleres var knapper = nye array(); hvis ($('# alertbutton). (": kontrolleret')) (knapper. tryk ({tekst: "beredskab" klik: function() {indberetning ('alerting fra dialog widnow: + div_title)}})} hvis ($('# closebutton). (": kontrolleret')) (\tbuttons.push({ \t\ttext: 'CLOSE', \t\tclick: function() { \t\t\t$('#' + div_id).dialog('close'); \t\t} \t}); } //append the dialog window HTML to the body $('body').append('<div class="dialog_window" id="' + div_id + '">' + div_content + '</div>'); //initialize our new dialog var dialog = $('#' + div_id).dialog({ \twidth: 'auto', \theight: 'auto', \ttitle : div_title, \tautoOpen : true, \tbuttons: buttons });,Here's a step-by-step of the code we just added above:, ,First, get the total number of ,Dialog, windows on the site.,From this, generate a new unique id that will be used for the new ,Dialog, window.,Get the ,window Title, and ,window Content, values from the “Create a new ,Dialog, window” form.,Check whether the, alarm og tæt, for galochka kontrolleres.hvis de er, at skabe en json genstand efter, format fra oven, og skubbe den ind i en, knapper, array., skabe og sætte de, dialog, vinduet er html i side er < krop >, tag endelig nulstille nye replikker, vindue med den initialization kode som den, der anvendes på de oprindelige, dialog, vindue.,, lege med det og prøver forskellige kombinationer af knapper.her er et skærmbillede med alle mulige kombinationer:,,, lorem ipsum dolor sidde amet, nu vi er i stand til at skabe dissemineret vinduer, så lad os tilføje nogle minimere maksimere funktionalitet.trin 6:,, at, dialog, vinduer "minimizable" og "maximizable" desværre jquery eu - erhvervsgrenen ikke har indbygget, minimere og maksimere, metoder, men vi kan sagtens sige det tvingende nogle ting om initialization proces af jquery ui, dialog, prototype.vi er i alt væsentligt er nødt til at tilføje en post - initialization kode, der automatisk vil skabe en "anden stat", tilføje en, minimere ikon for, dialog, vinduer, samt tilføje en funktion, der "forøger" et vindue, når den anden medlemsstat er sammen. lad os starte ved at tilføje css til stil de knapper og minimeret statens:,dialog_window_minimized_container {holdning: faste og nederst: 0px; tilbage: 0px.}. dialog_window_minimized {flyde: venstre polstring: 5px 10px; skriftstørrelsen: 12px; markør: point; margen: 2px; display: ingen;}. dialog_window_minimized. eu - erhvervsgrenen ikon {angive: i overensstemmelse med block!vigtigt. position: relativ; top: 3px; markør: pointer.}. eu - erhvervsgrenen dialog. eu - erhvervsgrenen dialog titlebar minimere (højde: 18px; bredde: 19px; polstring: 1px. position: absolut; ret: 23px; top: 9px;}. eu - erhvervsgrenen dialog. eu - erhvervsgrenen dialog titlebar minimere. eu - erhvervsgrenen ikon (display: blok; margen: 1px;}. eu - erhvervsgrenen dialog. eu - erhvervsgrenen dialog titlebar minimere: svæv,. eu - erhvervsgrenen dialog. eu - erhvervsgrenen dialog titlebar minimere: vægt (polstring: 0}, bliver vi også nødt til at tilføje en "minimeret statens" container, hvor vi skal sætte alle alle vinduer.det indenfor, < krop >, tag:, < div id = "dialog_window_minimized_container" > < /div >, læg det javascript codeblock, efter det sted, hvor jquery ui bibliotek er ladt.This is important as it won't work if it's before the library is loaded., <script> var _init = $.ui.dialog.prototype._init; $.ui.dialog.prototype._init = function() { \t//Run the original initialization code \t_init.apply(this, arguments); \t \t//set some variables for use later \tvar dialog_element = this; \tvar dialog_id = this.uiDialogTitlebar.next().attr('id'); \t \t//append our minimize icon \tthis.uiDialogTitlebar.append('<a href="#" id="' + dialog_id + \t'-minbutton" class="ui-dialog-titlebar-minimize ui-corner-all">'+ \t'<span class="ui-icon ui-icon-minusthick"></span></a>'); \t \t//append our minimized state \t$('#dialog_window_minimized_container').append( \t\t'<div class="dialog_window_minimized ui-widget ui-state-default ui-corner-all" id="' + \t\tdialog_id + '_minimized">' + this.uiDialogTitlebar.find('.ui-dialog-title').text() + \t\t'<span class="ui-icon ui-icon-newwin"></div>'); \t \t//create a hover event for the minimize button so that it looks good \t$('#' + dialog_id + '-minbutton').hover(function() { \t\t$(this).addClass('ui-state-hover'); \t}, function() { \t\t$(this).removeClass('ui-state-hover'); \t}).click(function() { \t\t//add a click event as well to do our "minimalization" of the window \t\tdialog_element.close(); \t\t$('#' + dialog_id + '_minimized').show(); \t}); \t \t//create another click event that maximizes our minimized window \t$('#' + dialog_id + '_minimized').click(function() { \t\t$(this).hide(); dialog_element. open().})}; < /manuskript >, her er, hvad denne kodeks, er:,, lad den oprindelige jquery ui, dialog, initialization kode løb via, _init. anvendelse (dette argumenter);,, vedlægges, mindske ikon, til, at dialogen box, afsnit bar,, vedlægges, minimereshttp: //i,dialog_window_minimized_container < div >,, tilføje en, svæv, begivenhed til, minimere ikon, så det får, eu - stat svæv, klasse, når musen er svævede over det, som vil tilføje "baggrund farve skiftende" betyder, at vi kan se, skabe et klik begivenhed for den, der lukker, dialog, vindue, og det viser, minimeret, endelig skabe et klik begivenhed for, begrænses til et minimum, som gemmer sig, og de åbner, dialog, vindue,d nu vores vinduer som grænseflade er færdig!,,, vinduer, som grænseflade, hurra!,, konklusion i denne artikel, har vi vist, hvor let det er at skabe en smuk og meget funktionel brugergrænseflade med kun jquery og jquery ui.nu, du burde vide, hvordan:,, downloade og fælde den jquery ui bibliotek for dit projekt, anvendelse jquery ui, dialog,, og buttonset, komponent, skabe, både statisk og dynamisk dialog, kasser med oplysninger fra enhver kilde, dynamisk skabe forskellige dialog knapper, med hver nye replikker, rubrik. at tilføje skik funktionalitet, jquery ui, dialog, f.eks. mindske, og maksimere, funktionalitet, bygge - jquery er initialization proces, er det værd at bemærke, at der er en hel del mere, komponenter, som du kan jquery indflydelse via eu - erhvervsgrenen.det er helt sikkert en god måde at opbygge en utrolig brugergrænseflader hurtigt og nemt.forhåbentlig vil denne artikel har vist sig, at jquery - er et vigtigt redskab i den pågældende politik. har du brugt jquery ui i fortiden eller planlægger at bruge det til et fremtidigt projekt?lad os vide, i bemærkningerne nedenfor, og mange tak for det!,