..
Dažnai problemų, atrodo lengva išspręsti, pasirodyti sudėtingesnis nei tikėtasi, ir tai, kad paprastai yra prarasti puse darbo dienos extricating kart daugiau ar mažiau stačiatikių ir karščiuoja konsultacijos svetainių, beviltiška tiems, kurie jau susidūrė su problemą.
Kai projektas turėjau poreikį apriboti simbolių leidžiama Textarea Maniau išspręsti keletą minučių skaičių, tai buvo ne taip, aš rasiu keletą sprendimų dėl neto, bet ne įtikinti mane prie pabaigos, todėl aš nusprendė įgyvendinti kažką užsakymą naudojant JQuery ir puikus jQueryUI , ypač paketo progessbar komponentas.
Colleghiamoci į http://jqueryui.com/ ir paspauskite mygtuką "Atsisiųsti užsakymą statyti" viršuje dešinėje pusėje.
Kitame puslapyje pasirinkite naudingų komponentų ir vieną iš galimų raštai mes nuspręsti imtis tik ProgressBar.

Mūsų mažas pavyzdys bus sukurti paprastą struktūrą taip:
Mes sukursime savo HTML failą, suteikti jam prasmingą pavadinimą (mes paskambinsime mrw_jquery_txtcheck.html) ir įdėkite į galvą tegus intarpai būtina: nuorodą į temą, CSS ir JS failus JQuery ir jQueryUI.
href = "jquery-ui-1.8.9.custom/css/ui-lightness/jquery-ui-1.8.9.custom.css" <link type="text/css" rel="stylesheet" /> <script type="text/javascript" src="jquery-ui-1.8.9.custom/js/jquery-1.4.4.min.js"> </ script> <script type="text/javascript" src="jquery-ui-1.8.9.custom/js/jquery-ui-1.8.9.custom.min.js"> </ script>
Pridėti į organizmą Textarea:
<div> <textarea name="limitedOne" id="limitedOne" style='width:250px;height:100px;'> </ Textarea> </ div>
Tada įdėkite div, kuriame ProgressBar ir vietos rezervavimo ženklo duoti jums, kiek simbolių yra skaitmeninis idėja.
<div style="height: id="progress" 20px;"> </ div> Galima <span id="charCounter"> 255 </ span> simbolių. </ P>
Dabar mes galime pradėti rašyti kodą į atskirą failą JavaScript / JQuery su būtinas funkcijas, kurie vėliau taip pat įtraukti jį į galvą žymeles, mes paskambinsime check_textarea.js.
Visų pirma apibrėžti pagrindinius kintamuosius; simbolius leidžiama ir galima tokią pačią vertę pradžia:
MAX_CHARS = 255; Likęs = MAX_CHARS;Tada mes apibrėžti funkciją, kuri kontroliuoja ir stiprina ProgressBar ir kovos:
checkTextareaLength function () {
current_length == undefined var = $ ("# limitedOne"). Val (). ilgis?
0: $ ("# limitedOne") Val () ilgis;..
Likęs = (MAX_CHARS - current_length);
if (Likęs> 0) {
$ ("# LimitedOne") ($("# LimitedOne Val ") Val () fragmentas (0, MAX_CHARS))...;
Else {}
$ ("# CharCounter") HTML (liko).;
var PV = Math.floor ((((MAX_CHARS-Likęs) / MAX_CHARS) * 100));
. $ ("#" Progress ") ProgressBar (" vertė ", PV);
}
}
Pažvelkime kodas: Pirmoje eilutėje checkTextareaLength gauna dabartinę vertę Textarea naudojant funkciją Val () jQuery, tada suskaičiuoti simbolių įrašytas skaitant ilgio atributas skaičių.
Į kitą eilutę suteikia simbolių prieinama skirtumas numerį.
Šiuo metu yra 2 galimybes.
1. Likęs kintamasis yra mažesnė, negu nulis (pvz., po kopijuoti / įklijuoti) ar blokuoti susitvarko su Textarea vertės ir rizikos limitų iki 255 simbolių gimtoji "JavaScript" eilutės
$ ("# LimitedOne") ($("# LimitedOne Val ") Val () fragmentas (0, MAX_CHARS))...;
2. Likusios yra didesnis nei nulis, kiti blokas pirmą trukmė yra sustiprintas su liko simbolių numeris:
$ ("# CharCounter") HTML (liko).;
Tada funkcija apskaičiuoja tarp maksimalų simbolių skaičių, yra ir šiuo metu įtrauktos bibliotekos funkcija raundų rezultatas Math.floor (žemyn) į artimiausią santykis:
var PV = Math.floor ((((MAX_CHARS-Likęs) / MAX_CHARS) * 100));
Šiuo metu mes galime tik priskirti vertę rasti ProgressBar
. $ ("#" Progress ") ProgressBar (" vertė ", PV);
Leiskite rašyti kodą, kad yra įvykdytas DOM Ready.
Mes inicijuoti ProgressBar stringa ir vykdyti renginius norite perimti: paspaudimu mouseout, keisti ir Blur.
Stebėti juos visus sulaikyti tuo atveju, jei naudotojas turi naudoti nukopijuokite / įklijuokite.
Atkreipkite dėmesį, kad funkcija skambutis atidėtas keletą šimtosios sekundės dalies per gimtoji funkcija setTimeout todėl įsitikinkite, kad visada turi vertę tinkamu laiku, kai vartotojas baigė rašyti.
$ (Function () {
$ ("#" Progress ") ProgressBar ().;
$ ("# LimitedOne.") Bind ("paspaudimo pakeisti mouseout Blur" funkcija () {
setTimeout ("checkTextareaLength ()", 200);
});
});
| |
CSS (kurso)
Web dizainas ir prieinamumas pagal W3C CSS ir XHTML. Nuo 29 €. |
| |
HTML (kurso)
Žymėjimo kalbą nuo 29 € internete. |
| |
Javascript (kursų)
Užbaigti vadovą kliento-side scripting. Nuo 39 €. |