jQuery 1.7.x、Backbone、Underscoreを使用しているクライアントサイドアプリがあります。アプリには多くの列があり、ウィンドウのサイズが変更されると、列をプッシュまたはポップするようにDOMを調整する必要があります。イベントの発生に時間がかかり、イベントスタックのクリアに時間がかかり、DOMの列数を考慮する必要があるため、ウィンドウのサイズ変更時にDOMを確実に操作する方法の問題が発生しています。ああ、私はサイズ変更リスナーで役立つアンダースコアdebounceメソッドと、発生する必要のあるこれらの特定のイベントのdeferメソッドを使用しています。
ウィンドウのサイズ変更で、列が水平に収まらない場合は列をポップする必要があります。サイズ変更リスナーが起動するよりも速くウィンドウが縮小された場合、すべてが収まるように、いくつかのdomクリーンアップを実行する必要があります。
各サイズ変更トリガーでDOMの列をループし、現在のDOM列のループ内でfit_widthを計算し、必要に応じてポップする方がよいでしょうか。新しいサイズ変更イベントが変更/中断する可能性がありますか?
または、DOMの列数に対して、サイズ変更トリガーごとにpop_column_if_too_wideを起動する方がよいでしょうか。これは悪いようです...
イベントトリガーを介してすべてを処理するのは良いことですが、イベントスタックがまだクリアされていない可能性があるため、私が依存する_.deferは、現在のループの反復での高速計算には十分な信頼性がありません。したがって、同じモジュールのイベントが2回発生する可能性があります。
おそらくもっと良い方法があります。