Jquery Url重新加载

时间:2012-10-31 10:23:11

标签: javascript jquery html css

嗨我有一个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")中的当前内容,并且我的网址已更改为http://localhost/user/john#test,但如果我重新加载页面,内容不再是#test,而是回到原始主页内容。我怎么能确保当我重新加载内容时,假设是#test的内容。 ?感谢

2 个答案:

答案 0 :(得分:0)

试试这个:

$(function(){
    var hash = document.location.hash;
    if(hash != '')
    {
        //load content
        //hack (just example, implement your logic here)
        $('#' + hash).parent().trigger('click');
    }
});

答案 1 :(得分:0)

我担心这个问题没有简单的答案,因为它被认为是Ajax的主要下行方面之一(see here about that.)重装/返回不能正常工作(没有你)为此工作做了很多工作)。

关于使用ajax进行浏览器刷新。只需谷歌,或查看hereherehere

希望这有帮助!