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

尝试这个:

$(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 回答
0

恐怕没有简单的答案,因为它被认为是 Ajax 的主要缺点之一(请参阅此处。)重新加载/返回不能正常工作(没有你做很多让它像那样工作)。

关于使浏览器刷新与 ajax 一起工作。只需谷歌它,或看这里这里这里

希望这可以帮助!

于 2012-10-31T10:36:29.903 回答