2017-12-26 17 views
0

私のプロジェクトは、複数のサブページを持つサイトです。JavaScriptでナビゲーション項目を有効/無効にする最適な方法は?

  • Page 1:リストからいくつかの要素を選択してください。選択内容を保存します。

  • Page 2:選択した要素ごとに、2つのパラメータを設定します。スコアを計算するためにボタンを押します。

  • ページ3:結果をエクスポートする3つのオプションから選択します。

ナビゲーションバーには、これらのサブページへのリンクが含まれています。

ユーザーの進捗状況に基づいてナビゲーション項目を有効/無効にしたいとします。たとえば、以前に他の2ページにアクセスしていない場合は、エクスポートページにアクセスできないようにしてください。

現時点で私はこのようにしようとしています:localStorageの内容に基づいて項目を有効/無効にします(より正確には、配列の存在が1ページにユーザーの選択を保存するために使用します) 。これはかなりうまくいきますが、私は1つの問題があります。ページを離れて後で戻っても、アレイはまだlocalStorageにあります。つまり、すべてのメニュー項目が有効になっています。最後のページで削除することはできますが、ユーザーが入力を変更するために前のページに再度アクセスしようとするとどうなりますか?

これを行うより良い方法はありますか?あなたはjqueryのの助けを借りてそれを行うことができます

挨拶

+1

[sessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)がうまく機能しますか? – yuriy636

+0

タイムスタンプを配列に追加できます。タイムスタンプへの最後の更新が5分以上前であった場合は、ストレージからアレイを削除します。または、URLに添付された何らかのトークンで同じことを行うこともできます。または、履歴を確認して、以前に来たページを確認することもできます。等 – Shilly

答えて

0

プット・条件ごlocal storageに応じて、次のコード適用されます。

$("#button").click(function() { 
    $("#item").attr("disabled", "true"); 
}); 
0

を私がするユーザーに選択肢を与えるだろう新しい進路(配列をクリアするボタンのようなもの)を開始し、前の進路を変更したいのか新しいものを開始するのかを決定させる方法です。

関連する問題