0

こんにちは、次のようなhtmlコードがあります

<ul id="userTabs" class="clearfix">

                <li class="selected"><a href="#profile">Profile Home</a></li>

                <li><a href="#test">test</a></li>

                <li><a href="#test2">test2</a></li>

                <li><a href="#test3">test3</a></li>

                <li><a href="#test4">test4</a></li>


    </ul>

以前、href 値を取得する方法について質問しましたが、ページをリロードしたときに同じリンクを保持する方法を知る必要があります。上記のリンクをクリックするための JS コードは次のとおりです。

$("#userTabs li").click(function(){


      $("#userTabs li").removeClass('selected');
      $(this).addClass('selected');
      var href = $(this).children('a').attr('href');
      href = href.replace("#","")
     //alert(href);
      //alert(href);
      $.ajax({
        url:"<?=$this->baseUrl('user/"+href+"')?>",
        data:{'page':href},
        dataType:"json",
        type:"POST",
        success:function(data){
          //alert('ok');
         //var contentHtml = data;
         $("#user_reviews_list").html('');
         $('#pagesuser').hide();
         $("#user_reviews_list").html(data);
         //alert(contentHtml);
        }
      });

    //alert('ok');
    });

リンクをクリックするとtest、新しいコンテンツが現在のコンテンツに置き換えられ$("#user_reviews_list")、URL が に変更されhttp://localhost/user/john#testますが、ページをリロードすると、コンテンツは #test ではなくなり、元のホーム コンテンツに戻ります。コンテンツをリロードしたときに #test のコンテンツであると想定されることを確認するにはどうすればよいですか。? ありがとう

4

2 に答える 2

0

残念ながら、これに対する簡単な答えはありません。これは、Ajax の主な欠点の 1 つと見なされているためです (これについては、こちらを参照してください)。リロード/戻る操作が正常に機能しない (多くの操作を行わないと) 。そのように機能するための作業の)。

ajaxでブラウザのリフレッシュを動作させることについて。グーグルで検索するか、ここここ、またはここを見てください

お役に立てれば!

于 2012-10-31T10:36:29.903 に答える
0

これを試して:

$(function(){
    var hash = document.location.hash;
    if(hash != '')
    {
        //load content
        //hack (just example, implement your logic here)
        $('#' + hash).parent().trigger('click');
    }
});
于 2012-10-31T10:33:37.033 に答える