Incremental Window Resize
by khrome
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/mootools/1.4.5/mootools-core-full-compat.js"></script>
JavaScript
window.incrementalResize = function(options, callback){
if(typeOf(options) == 'number') options = {number:options};
if(typeOf(options) == 'function') options = {isCallable:options};
var sizes = window.getSize();
if(!options.lastX) options.lastX = sizes.x;
if(!options.lastY) options.lastY = sizes.y;
if(options.number && !options.isCallable){
options.isCallable = function(x, y){
var xDiff = Math.abs(options.lastX - x);
var yDiff = Math.abs(options.lastY - y);
if(options.number <= xDiff || options.number <= yDiff){
options.lastX = x;
options.lastY = y;
return true;
}
return false;
}
}
window.addEvent('resize', function(event){
var dim = window.getSize();
if(options.isCallable(dim.x, dim.y)) callback();
});
}
window.incrementalResize(45, function(){
alert('ping!');
});