モバイルサファリでは、要素を処理する過程で、その要素touchmove
の を変更className
します。残念ながら、ユーザーがスクロールしている間、または慣性スクロールが最後まで視覚的な変化は発生しません。
className
すぐに視覚的に取得するにはどうすればよいですか?
詳細:どうやらこれは className の変更に限定されていないようですが、 や などの DOM への変更のようinnerHTML
ですstyle
。
モバイルサファリでは、要素を処理する過程で、その要素touchmove
の を変更className
します。残念ながら、ユーザーがスクロールしている間、または慣性スクロールが最後まで視覚的な変化は発生しません。
className
すぐに視覚的に取得するにはどうすればよいですか?
詳細:どうやらこれは className の変更に限定されていないようですが、 や などの DOM への変更のようinnerHTML
ですstyle
。
私は実際にそのサイトを構築しました。そうです、この制限を回避する方法は、組み込みのブラウザー機能を使用してサイトをスクロールするのではなく、偽造することです。JSは、スクロールホイールとキーボードのイベントをリッスンし、メインコンテナのcsstopプロパティを独自の「scrollTop」にトゥイーンします。右側のスクロールバーはもちろんカスタムJSのものです。この場合、同じ内部の「scrollTop」値に同期されます。
サイト全体は実際には1つの大きなトゥイーンであり、メインのタイムラインはscrollTopの位置であり、すべてのサブアニメーションは特定の時間にトリガーされます。JSは縮小されていないので、ScrollAnimator.jsファイルを見てください。
残念ながら、これは設計によるものです。iOS サファリは、スクロールまたはジェスチャが終了するまで、すべての DOM 操作をキューに入れます。事実上、DOM はスクロール中にフリーズします。
Apple 開発者ページでこれへの参照を見つけることができると思いましたが、jQueryMobile へのこのリンクしか見つかりません: http://jquerymobile.com/test/docs/api/events.html。
iOS デバイスは、スクロール中に DOM 操作をフリーズし、スクロールが終了したときに適用するためにキューに入れることに注意してください。現在、スクロール開始前に DOM 操作を適用できるようにする方法を調査中です。
お役に立てれば!
位置を に変更するだけ-webkit-sticky
です。top を設定しないでください。通常の要素と同じように見えますが、固定要素のように機能します。また、位置以外のスタイルをすぐに更新できます。