3

現在、以下を使用して複数のリンクがある場合:

Options 1:
<a href="javascript:;" onClick="window.location.hash+='A'">Option A</a>
<a href="javascript:;" onClick="window.location.hash+='B'">Option B</a>
<a href="javascript:;" onClick="window.location.hash+='C'">Option B</a>

Options 2:
<a href="javascript:;" onClick="window.location.hash+='1'">Option 1</a>
<a href="javascript:;" onClick="window.location.hash+='2'">Option 2</a>
<a href="javascript:;" onClick="window.location.hash+='3'">Option 3</a>

Options 3:
<a href="javascript:;" onClick="window.location.hash+='X'">Option X</a>
<a href="javascript:;" onClick="window.location.hash+='Y'">Option Y</a>
<a href="javascript:;" onClick="window.location.hash+='Z'">Option Z</a>

これらのいずれかをクリックするたびに、URLに追加され続けます。現在のハッシュがすでに存在するかどうかを確認する方法はありますか(つまり、ハッシュ文字列の3番目の文字の場合は、現在のハッシュに置き換えます)。どんな助けでも大いに感謝します!ユーザーがオプションの選択を行ったり来たりしても、次のような最終結果を達成しようとしています。

http://mydomain.com/question-page#A3Y 
4

1 に答える 1

3

+=連結するように変更します。

window.location.hash+='A';

私は次のようなことをします:

まず、可能なオプションごとに変数を作成します。

var option1 = "";
var option2 = "";
var option3 = "";

次に、ハッシュを設定する関数を作成します。

function generateHash() {
  window.location.hash = option1 + option2 + option3;
}

最後に、onclickイベントでこれらの各オプションを設定し、ハッシュを生成します。

<a href="javascript:;" onClick="option1 = 'A'; generateHash();">Option A</a> 
 ...
<a href="javascript:;" onClick="option2 = '1'; generateHash();">Option 1</a>
...
<a href="javascript:;" onClick="option3 = 'X'; generateHash();">Option X</a>
于 2013-01-18T03:03:07.737 に答える