backbone.js 1についてはわかりませんが、html5 でこの動作を正確に実装する必要があるモバイル アプリケーションの開発を支援したので、良いアドバイスを提供できるはずです。
まず第一に、history.pushState
関数が存在することを知っておくとよいでしょう。ただし、大きな問題は、android 2.3 まではサポートされていますが、android 3 から android 4.0.3 まではサポートされていないことです。kiranvj が正しく指摘しているように、履歴機能の欠如に対するポリフィル ソリューションを提供する人気のhistory.jsライブラリを使用することで、これを解決できます。
さて、実際の問題に取り掛かると、履歴方向のアニメーションを実装する方法は、ページの論理位置を特定するpushState
関数 ( ) にデータを追加することでした。history.pushState(data,title,url)
私のアプリケーションでは、水平バーに限定されていませんでしたが、あなたの場合、新しくロードされたページが現在のページよりも 1 つ高い位置になる位置を追跡します。例えば
History.pushState({position:History.getState().data.position+1},"Your title","Your URL");
次に、window.onstatechange
またはwindow.onanchorchange
イベントがトリガーされると、位置が現在のページよりも高いか低いかを観察し (たとえば、上記で使用したhistory.js History.getState()
関数を使用して)、これに応じて、どちらの方向に移動するかを決定します (下は下の画像で示されているように、左が左で、右が上です。

{position:1}
また、通常、最初のページには状態情報がありませんが、最初のページには既にあると想定していることにも注意してください。これを実現する方法は、 which を使用しhistory.replaceState
て、現在の空の状態をより有益な状態に置き換えることです。または、前述のイベントのいずれかで空の状態を確認することもできます。空の場合は、一番左のイベント ( {position:1}
) であると想定します。
ご不明な点がございましたら、お気軽にお問い合わせください。
この回答はhistory.jsを使用していることを前提としており、独自のソリューションを構築する場合は、わずかに異なるイベント ( などonpopstate
) をリッスンし、わずかに異なる構造 (history
ではなく) を使用する必要があることに注意してください。History
また、独自のキュー配列を使用してこれを構築することもできます。これにより、より多くの制御が可能になりますが、ブラウザの戻るボタンと組み合わせて機能することはありません。これはブラウザー サイトでは大きな問題ですが、 cordova (別名phonegap ) Web アプリケーションを構築している場合は、はるかに簡単です。
1 それについて読んだだけで、独自の履歴処理を行っているように見えます。これにより、上記の手法を統合するのがより複雑になる可能性があります。