jQuery锚导航

时间:2011-04-08 11:20:21

标签: javascript jquery navigation anchor

我想使用jQuery构建一个基于锚点的基本导航系统。我真的不想使用plugin like this作为suggested here。任何人都可以帮我解决构建这样一个系统的基本逻辑吗?

基本上我希望能够通过以下链接为一个页面提供多个ajax内容:

  • /myurl.html#state1
  • /myurl.html#state2

目前我只是绑定到链接的点击处理程序以打开对话框等。然后我可以将URL更改为/myurl.html#state1。问题是我这样做,或者我只是让<a>标签本身指向该URL,然后使用jQuery来检测URL何时发生变化意味着它也可以在页面加载时工作?

任何建议/想法都会很棒 - 谢谢

1 个答案:

答案 0 :(得分:2)

<a href="#state1" rel="ajaxpage1.html"></a>
<a href="#state2" rel="ajaxpage2.html"></a>

$('a').each(function (i,obj){
   $(obj).click(function (){
       var url = $(obj).attr('rel');
       $..ajax({
          url: url,
          success: function (){...},
          error : function (){...}// incase you get a 404, or 500 and so on....
       });
   });
});

$(document).ready(function (){
   //if you need it on refresh, or if a user got the link from another page
   // it automatically will trigger the click therefore trigger the ajax
   if(window.location.hash != '#'){
      $('a[href="'+window.location.hash+'"]').click();
   }
});

我仍然应该使用插件,因为他们有错误,并修复它们可能所以你必须测试你的东西,浪费了很多时间,但你的电话:)