Si se asocia una acción al evento $(window).resize() se ejecuta inmediatamente después de redimensionar la ventana. Como resultado, si se cambia el tamaño de la ventana con el ratón, la acción se lanza muchas veces.
Para lanzar una acción únicamente cuando se ha terminado de cambiar el tamaño de la ventana, es decir, cuando hemos soltado el puntero del ratón, podemos usar el siguiente snippet:
$(window).resize(function() { if(this.resizeTO) clearTimeout(this.resizeTO); this.resizeTO = setTimeout(function() { $(this).trigger('resizeEnd'); }, 500); }); $(window).bind("resizeEnd", function() { // Acción });