2011-07-15 7 views
0

たとえば、左右にスライドし、ajaxを使って新しいコンテンツを読み込むページがあるとします。変数はスライドの方向に応じて左スライドまたは右スライドに設定されます。変数の履歴を覚えている

ブラウザの戻るボタンをクリックすると、html5 popstateイベントが有効になり、最後のページがajaxを使用してロードされます。変数を使用すると、戻るボタンを押したときにどの方向にスライドするかを決定することができます。if (var direction == 'leftslide'){ direction = 'rightslide'}(良い「戻る」効果を得るため)

しかし、バックボタンを2回押すと、スライドが常に正しいとは限りません。そのページのスライドを見るのではなく、スライドを逆転させます。

変数の履歴を保存し、javascriptを使用して注文を返す方法はありますか?これについて読み、考えるための

感謝:)

+0

なぜ私は-1を得ましたか? – cmplieger

+0

私は-1を与えませんでしたが、私はあなたの質問が混乱しているのを見つけました。おそらく誰かがそれを見つけたので、彼らは混乱して、彼らは落ち込んでしまいました。 – nnnnnn

+0

大丈夫です:)。まあ、私はこれを別の方法でasjする方法がわかりません... – cmplieger

答えて

2
var history = []; 
var position = 1; 

function onSlide() { 
    history.push(currentPage); 
}; 

function lastPage() { 
    return history.length && history[history.length - 2]; 
}; 

function currentPage() { 
    return history.length && history[history.length - 1]; 
}; 

function goBack() { 
    if (history.length) { 
     position += 1; 

     navigateTo(history[history.length - position]); 
    } 
} 

function goForward() { 
    if (history.length) { 
     position -= 1; 

     navigateTo(history[history.length - position]); 
    } 
} 

は、アイデアを得ますか?

基本的には、訪問した各ページをアレイに保存しています。履歴をナビゲートするとき、ヒストリ配列のどのスロットをチェックするかを示す整数変数を更新することで、ヒストリの位置を追跡します。

+0

どうすればその変数を保存できますか? URLのそれだけではないのですか? – cmplieger

+0

変数配列、関数、数値... – Adam

+0

に必要なものを任意のものにプッシュできます.2回前に移動すると、-3を使用し、-2以外の値を使用する必要があります。まだ正常にナビゲートすることができます。申し訳ありません234の質問:p – cmplieger

0

これは、あなたがページがロードされるといつでも読むことができるクッキーにいくつかの状態を保存するように私に聞こえます。クッキーは、サイト全体、サイトのブランチ、または単なるパスにスコープ設定することができます。