Utilities
$.wait
{String}.format
by Adam Patridge
JavaScript
(function () {
// Src: (Crockford, http://javascript.crockford.com/remedial.html [{String}.supplant])
if (!String.prototype.format) {
// param = {domain: 'valvion.com', media: 'http://media.valvion.com/'};
// url = "{media}logo.gif".supplant(param);
String.prototype.format = function (o) {
return this.replace(/{([^{}]*)}/g,
function (a, b) {
var r = o[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};
}
} ());
$.extend({
// Using jQuery deferreds to delay some function.
// $.wait(delay).then(function() {...});
// Src: (Bleigh, http://intridea.com/2011/2/8/fun-with-jquery-deferred?blog=company)
wait: function (delay) {
return $.Deferred(function (dfd) {
setTimeout(dfd.resolve, delay);
});
}
});
$(function () {
var delay = 2000;
$("<p>").text("load").appendTo("body");
$.wait(delay).then(function () {
$("<p>").text("delayed {delay}ms".format({ delay: delay })).appendTo("body");
});
});