ウインドウのリサイズ操作が終わった時にだけ実行するjavascript・jQueryの良い書き方は?
setTimeoutを使った書き方以外に良い方法はありますか?
=================================
var t = false;
$(window).resize(function() {
if (t !== false) { clearTimeout(t); }
t = setTimeout(function() {
console.log(’resized’);
}, 100);
});
=================================
※ 追記2013.12.25
ブラウザ ウインドウサイズのことです。
※ 追記2013.12.26
皆様回答ありがとうございました。
コメ主4 ID:tj4CqSv9YK55 の方が仰るとおり、DOM操作やGPU処理に関わることでない為、負荷を気にするようなものでも無いとは思います。
重ね重ねお礼申し上げます。ありがとうございました。
みんなの回答 4 件
jQueryに詳しいかたどうか私をお助けください。
resizeイベントが発生した後の、最初のmouseupイベントを取ればいんじゃない?
回答が付かずに流れていくー。
存在しません。
また、構想として挙げているsetTimeoutがベストプラクティスだと思います。
負荷を気にされているようですが、resizeイベントの負荷はスペックやブラウザを気にするようなものではありませんし、実際にconsole.logで調べてみれば分かると思います。
ちなみにJavaScript処理でネックになるものの多くはGPU処理の肩代わりやDOM操作です。
関連するトピックス