Puede usar .resize()
para obtener cada vez que el ancho / alto realmente cambia, como este:
$(window).resize(function() {
//resize just happened, pixels changed
});
Puede ver una demostración en funcionamiento aquí , toma los nuevos valores de alto / ancho y los actualiza en la página para que los vea. Recuerde que el evento realmente no comienza ni finaliza , simplemente "sucede" cuando ocurre un cambio de tamaño ... no hay nada que decir que no sucederá otro.
Editar: por comentarios parece que quiere algo así como un evento "al final", la solución que encontró hace esto, con algunas excepciones (no puede distinguir entre un mouse-up y una pausa en una forma de navegador cruzado, lo mismo para un final frente a una pausa ). Sin embargo, puede crear ese evento para hacerlo un poco más limpio, como este:
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
Podría tener este es un archivo base en algún lugar, lo que sea que quiera hacer ... luego puede vincularse al nuevo resizeEnd
evento que está activando, de esta manera:
$(window).bind('resizeEnd', function() {
//do something, window hasn't changed size in 500ms
});
Se puede ver una demostración de trabajo de este enfoque aquí