Tuesday, March 29, 2011

Build Javascript with PHP

http://www.jsclasses.org/blog/post/10-Developing-JavaScript-Applications-using-PHP-functions--Lately-in-JavaScript-podcast--Episode-5.html

Thursday, March 24, 2011

lazy loading library genius

Loads javascript, html and css on the fly. Brilliant.

http://ensure.codeplex.com/

Tuesday, March 22, 2011

Create web apps in JavaScript right from your browser

Associative Array Flexibility.

var AssociativeArray = function() {

this.hash = new Array();

this.size = function() {
var size = 0;
for(var i in this.hash) {
if(this.hash[i] != null) {
size++;
}
}
return size;
};

this.clear = function() {
this.hash = new Array();
};

this.add = function(key, value) {
if(key == null || value == null) {
throw "NullPointerException { \"" + key + "\" : \"" + value + "\" }";
}
else {
this.hash[key] = value;
}
};

this.get = function(key) {
return this.hash[key];
};

this.remove = function() {
var value = this.hash[key];
this.hash[key] = null;
return value;
};

this.contains_key = function(key) {
var exist = false;
for(var i in this.hash) {
if(i == key && this.hash[i] != null) {
exist = true;
break;
}
}
return exist;
};

this.contains_value = function(value) {
var contains = false;
if(value != null) {
for(var i in this.hash) {
if(this.hash[i] == value) {
contains = true;
break;
}
}
}
return contains;
};

this.is_empty = function() {
return (parseInt(this.size()) == 0) ? true : false;
};

this.keys = function() {
var keys = new Array();
for(var i in this.hash) {
if(this.hash[i] != null) {
keys.push(i);
}
}
return keys;
};

this.values = function() {
var values = new Array();
for(var i in this.hash) {
if(this.hash[i] != null) {
values.push(this.hash[i]);
}
}
return values;
};

this.to_string = function() {
var string = "{\"array\": [\n";
for(var i in this.hash) {
if(this.hash[i] != null) {
string += "\t{ \"" + i + "\" : \"" + this.hash[i] + "\" },\n";
}
}
return string += "]}";
};
}

Thursday, March 17, 2011

data and each in jquery


//We can call it via:
$("div").data("role") === "page";
$("div").data("hidden") === true;
$("div").data("options").name === "John";

Data is good for preventing race conditions.

//Given this HTML Structure
  • Apple
  • Orange
  • Mango
  • Blueberry
  • Watermelon

//We can retrieve the value with:
$('li').each(function(index) {
alert(index + ': ' + $(this).text());
});


//Alternatively, loop through JSON
var data = "{ name: "John", lang: "JS" }";

$.each( data, function(k, v){
alert( "Key: " + k + ", Value: " + v );
});

jquery onscreen keyboard

http://keith-wood.name/keypad.html