jQuery якорная навигация - PullRequest
       26

jQuery якорная навигация

0 голосов
/ 08 апреля 2011

Я хочу построить базовую систему навигации на основе якоря, используя jQuery. Я действительно не хочу использовать плагин, подобный этому , как предложено здесь . Кто-нибудь может мне помочь с основной логикой построения такой системы?

По сути, я хочу, чтобы одна страница обслуживала несколько ajax-контента по следующим ссылкам:

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

В настоящее время я просто привязываюсь к обработчику щелчков ссылок, чтобы открывать диалоги и т. Д. Затем я могу изменить URL-адрес на /myurl.html#state1. Вопрос в том, могу ли я сделать это таким образом, или я просто заставляю теги <a> сами указывать на этот URL-адрес, а затем использую jQuery для определения, когда URL-адрес изменился, то есть он также будет работать и при загрузке страницы?

Любые предложения / мысли были бы отличными - спасибо

1 Ответ

2 голосов
/ 08 апреля 2011
<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();
   }
});

Я по-прежнему полагаю, что вы должны использовать плагин, так как в них есть ошибки, и исправлять их, вероятно, так, что вам придется тестировать свою вещь, тратить много времени, но ваш звонок :))

...