The basic idea is that you don't want to be hammering the window resize event because it gets fired repeatedly when a user manually resizes their browser. Instead you should use a short timeout to wait for resizing to end.
var resizeTimeout, $win = $(window);
$win.on('resize', function () {
if (resizeTimeout) {
clearTimeout(resizeTimeout);
}
resizeTimeout = setTimeout(function () {
// do stuff here
}, 100);
});