NeWorld

Entries for the ‘Javascript’ Category

Javascript duomenų bazė

Atsitiktinai užtikau Javascript duomenų bazę. Ši duomenų bazė skirta naudoti vartotojo naršyklėje. Kaip rašo tinklapyje, jog šita DB yra:

Užima mažiau kaip 10KB
Greita
Lengvai naudojama visose web aplikacijose
Veikia kartu su YUI, JQuery, Dojo, Prototype, EXT, ir kitomis
Pagrindinės komandos (Create, Read, Update, Delete)
Rikiavimas
ir kita

Pabandžiau. Patogu turint lentelę, nes galima patogiai susidėti duomenis, rikiuoti bei atlikti kitus pagrindinius veiksmus. [...]

Javascript: sukuriam naują kintamąjį per eval

Man iškilo problema, prisireikė sukurti kintamąjį per eval.

eval(“new a=5;”);

Neveikia (spėju todė, kad sukuriamas ne globalus kintamasis). Ilgai googlinau, kol šovė į galvą pabandyti sukurti per objektą. Dar pagoglines suradau, kad globalūs kintamieji randasi window objekte. Taigi pabandžiau:

eval(“window.a=5;”);

Ir vualia, veikia. Kas keisčiausia, jog kurti kintamojo nebereikia, bet viskas veikė ant Firefox 2.0.0.12, IE7 ir [...]

Kaip prototype trumpina javascript kodą

Šiame įraše apžvelgsiu kaip galite patrumpinti ir supaprastinti javascript kodą naudojant prototype.

Select pagrindinio elemento klasė tokia, kokia ir pažymėtojo elemento

Nu geresnio pavadinimo nesugalvojau. Kogero ne vienam kurie norėjo select sąrašo elementus nuspalvoti skirtingomis spalvomis iškilo ši problema. Be to, nelabai sugalvojau kaip įvardinti elementus, metodus ir panašiai, taigi galbūt bus sunku suprasti. Jeigu kas nors sugalvosite geresnius terminus būtinai parašykite.

Dirbam su radiobutton’ais

Kartais tenka javascriptu pagalbą pasiimti radiobutton reikšmę. Bet standartiniu būdų jos pasiimti neina

var value=document.getElementById(element).value);

Todėl tenka rašyti šiek tiek sudėtingesnę funkciją:

function getCheckedValue(radioObj) {

if(!radioObj)

return “”;

var radioLength = radioObj.length;

if(radioLength == undefined)

if(radioObj.checked)

return radioObj.value;

else

return “”;

for(var i = 0; i < radioLength; i++) {

if(radioObj[i].checked) {

return radioObj[i].value;

}

}

return “”;

}

function setCheckedValue(radioObj, newValue) {

if(!radioObj)

return;

var radioLength = radioObj.length;

if(radioLength == undefined) {

radioObj.checked = (radioObj.value == newValue.toString());

return;

}

for(var [...]