T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
9th March

Javascript – delci uporabne kode

Karkoli že delamo z Javascript-om velikokrat naletimo na eno in isto operacijo, ki jo moramo narediti, da bo delovala za večino danes popularnih brskalnikov (IE 6.0, IE 7.0, Firefox, Safari, Opera). Zato bom tukaj napisal delce Javascript kode, ki meni velikokrat pomagajo pri razvijanju rešitev:

Dinamično dodajanje v spustni seznam
[javascript]
function addOptionToSelect(selectID, text, value) {
var select = document.getElementById(selectID);
var option = document.createElement(“option”);
option.text = text;
option.value= value;

try{
//standards compliant; doesnt work in IE
select.add(option, null);
}catch(ex){
//IE only
select.add(option);
}
}
[/javascript]

Nastavi katera opcija je trenutno izbrana v seznamu
[javascript]
function setSelectedIndex(selectID, value){
var select = document.getElementById(selectID);

for (var intI = 0; intI < select.options.length; intI++) {
if (select.options[intI].value == value) {
select.options[intI].selected = true;
}
}
}
[/javascript]

Dobi trenutno izbrano opcijo v seznamu
[javascript]
function getSelectOptionValue(selectID) {
return document.getElementById(selectID).options[document.getElementById(selectID).selectedIndex].value;
}
[/javascript]

Pobriši celotni seznam (HTML select)
[javascript]
function clearSelect(selectID) {
document.getElementById(selectID).options.length = 0;
}
[/javascript]

Nastavi linku (href) _blank target attribut
[javascript]
function setHrefTargetBlank(object){
object.target = ‘_blank';
}
[/javascript]

Uporabnik mora potrditi operacijo
[javascript]
function confirmChoice(text, link){
if (window.confirm(text) === true){
location.href=link;
}

return false;
}
[/javascript]

Preberi tipko, ki je bila pritisnjena
[javascript]
function readKey(event){
var key = null;
if (window.event){
key = window.event.keyCode; //IE support
}else{
key = event.which; //Firefox support
}

alert(key);
//example: key=13 ==> enter
}
[/javascript]

Trim string
[javascript]
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,””);
}
[/javascript]

Dobi poljubni objekt – alias na document.getElementById funkcijo
[javascript]
function $(name){
object = document.getElementById(name);

if (object !== null){
return object;
}else{
return false;
}
}
[/javascript]

Premakni uporabnika po strani gor ali dol, desno ali levo
[javascript]
function scrollScreen(offsetW, offsetH) {
scroll(offsetW, offsetH);
}
[/javascript]

Dobi poljuben URL parameter
[javascript]
//Source: http://www.netlobo.com/url_query_string_javascript.html
function getURLParam(name) {
name = name.replace(/[\[]/,”\\\[“).replace(/[\]]/,”\\\]”);
var regexS = “[\\?&]“+name+”=([^&#]*)”;
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );

if( results == null ) {
return “”;
}

return results[1];
}
[/javascript]

Datoteke:

Dodatne informacije:

Če pa ima še kdo kakšno dobro funkcijo, ki velikokrat pride prav pa kar na plano z njo.


4x komentirano na “Javascript – delci uporabne kode”

  1. zaxy je napisal:

    tole bo pa kdaj prav prišlo, ker se ne ukvarjam dosti z javascript, pa mi ponavadi malo težave povzroča :)

  2. Operacije nad seznami - Javascript DOM - HTML select - HTML option | .: TRSplet - internetne storitve .: je napisal:

    [...] Na blog sem že dodal nekaj uporabnih Javascript funkcij, ki jih dostikrat uporabljam. Sedaj pa si poglejmo Javascript funkcije, ki skrbijo za operacije nad seznami. Vzemimo dva seznama med katerima lahko poljubno izmenjavamo HTML option elemente (opcije). V našem primeru imamo seznam (HTML select element) vseh vprašanj ter dodaten seznam, kjer imamo le trenutno aktualne novice (ki jih dodajamo iz seznama vseh novic). Poglejmo si standardne operacije nad njima: [...]

  3. ace je napisal:

    pravi mali prototype/jquery :) Kar uporabno edino funkcija “scrollScreen” mi ni čisto jasna,
    ker dejansko poveča količino potrebne kode.

  4. Roky je napisal:

    scrollScreen je bolj kot ne wrapper ja, po eni strani tudi nepotreben.

Dodaj komentar

You must be logged in to post a comment.