私はiPad用のHtmlおよびJavascriptカタログページスライダーを開発しています。これは、縦向きで1ページ、横向きで2ページを表示します。
カタログの状態を維持するための2つの変数は、イベントハンドラーの方向が変わるたびに操作されます。
iPadをすばやく投げて回すと、変数が破損します。私が通常のように(かなりゆっくりと)操作するとき、それらは問題ありません。
変数を使用してlocked
、ハンドラーがまだ完了していない場合、つまりモバイルSafariが方向の変更時にJavascriptの実行を中断した場合にハンドラーが実行されないようにしました。
function updateOrientation() {
if (locked) return;
locked = true;
...
ただし、これは当てはまらないようです。ハンドラーは、再度呼び出される前に常に終了します。
したがって、変数はどのように破損しますか?
何か案は?