JavaScript
jQuery

$(window).scrollの操作が終わった時を判別して、一度だけ処理を行う

$(window).on('scroll', function () {} は、scrollするたびに連続して処理が走る
scrollが終わって、そこで初めて処理を行いたい時の書き方を探していたら見つけた。

//1
function resizeStuff() {
 //何かの処理
}
//2
var TO = false;

$(window).scroll(function () {
    //3
    if (TO !== false) {
        //setTimeoutの戻り値であるNumberハンドル値が得られる falseがint型の数値に変化する
        clearTimeout(TO);
    }
    //4
    TO = setTimeout(resizeStuff, 200);
});

1.関数を定義
2. TO の初期値を false
3.リサイズが行われた時、 TO !== false だったら TO に予約されている処理をクリア
4. TO に対して 200ミリ秒後 に処理を行うように設定する。

scroll 中は3と4が繰り返されて、一番最後のscroll処理で4が実行されて終り。

if (TO) clearTimeout(TO);

↑3はこんな風にも書けたり。

setTimeoutの事をちょっと知っておかないと TOにはいったい何が起こっているんだ? となってしまうので、コメントを書いてあげておいたほうがいいと思う。

参考
javascript resize event firing multiple times while dragging the resize handle
timer.html