0

例:

http://localhost/#view=1

その変数「view」を取得したい場合は、を取得してからwindow.location.href、を分割し#てさらに何かを行う必要があります。

これは私の質問です:

<a href="#view=1">View 1</a>
<a href="#view=2">View 2</a>

ビュー1クリックまたはビュー2クリックを検出する方法はありますか?ビュー2をクリックすると、関数が実行されview=2ます。

または私はこのようなことをしなければなりません:

<a href="#view=1" onclick="setview(1);">View 1</a>
<a href="#view=2" onclick="setview(2);">View 2</a>

リンクをコピーしhttp://localhost/#view=2て友達に送信すると、友達がURLにアクセスしたときに関数setview(2)が実行され、リンクをクリックする必要がなくなります。

4

1 に答える 1

3

hashChangeイベントが利用できます

$(function(){
  // Bind the event.
  $(window).hashchange( function(){
    // Alerts every time the hash changes!
    alert( location.hash );
  })

  // Trigger the event (useful on page load).
  $(window).hashchange();
});

そして今、$(window).hashchange();関数にあなたのコードを入れてください:

$(window).hashchange(function(){
  $(location.hash).show();
});

あなたの場合、それは次のようになります:

$(window).hashchange(function(){
  setview(location.hash[strlen(location.hash)-1]); // Get the last character, if this doesn't work.
});

プラグインを追加するのを忘れました:http://benalman.com/projects/jquery-hashchange-plugin/、これを使用する必要があります。

于 2012-11-10T17:24:49.953 に答える