Adeneo posted a nice functional example, but I'm partial to building it all into my own handler:
var resizeComplete = (function() {
var funcs = [];
var timer ;
var delay = 250;
window.onresize = function() {
window.clearTimeout(timer);
timer = window.setTimeout(function() {
for (var i = 0; i < funcs.length; i++) {
funcs[i](); // Call the func
}
}, delay);
};
function register(func) {
funcs.push(func);
}
return {
register: register
}
}());
resizeComplete.register(function() {
console.log("Resize complete");
});