2010-10-17 5 views
0

У меня есть вкладки на моей странице. Код для них следующие:Доступные вкладки jquery - прямая ссылка на вкладку

$('ul#tabs li a').click(function(){ 
     var id = $(this).attr('id'); 

     var counter = 1; 

     $("ul#tabs a.current").removeClass('current'); 

     $(this).addClass('current'); 

     $('.contentBox').not('.' + id).hide(); 

     $('.contentBox.' + id).show(); 

     if(id=='all'){ 
      $('.contentBox').show(); 
     } 

     $('.contentBox').removeClass('last'); 

     $('.contentBox').each(function() {   
      if(counter%4==0) { 
       $(this).addClass('last'); 
      } 

      if($(this).css('display')!='none'){ 
       counter++; 
      } 
     }); 

     return false; 
    }); 

Теперь я хотел бы добавить возможность прямого связывания, так что пользователь может скопировать ссылку на определенной вкладке и вставить его в адресную строку и он идет на эту вкладку/div сразу , Как это:

TabLinkforContent1 TabLinkforContent2 TabLinkforContent3 

Банкоматы при загрузке страницы он показывает пользователю TabLinkforContent1 и теперь нужно нажать на кнопку, например, TabLinkforContent3 ссылки соперничает Содержимое div3. Я хочу изменить код, чтобы использование могло скопировать адрес TabLinkforContent3 и передать его кому-то, и если он использует этот URL-адрес, он автоматически отобразит контент div3. Так что url будет что-то вроде www.domain.com/page#div3. Но я не знаю, как изменить код javascript.

Любая помощь будет оценена :)

ответ

1

Поскольку ваши ссылки основаны ID, вы можете просто положить это после того, как ваш текущий код:

$(function() { 
    $('ul#tabs li a').click(function(){ 
    $("ul#tabs a.current").removeClass('current'); 
    $(this).addClass('current'); 

    $('.contentBox').show().removeClass('last'); 
    if (this.id !='all') $('.contentBox').not('.' + this.id).hide(); 

    $('.contentBox:visible').each(function(i) {   
     if ((i+1)%4==0) $(this).addClass('last'); 
    }); 
    return false; 
    }); 
    if(location.hash) $(location.hash).click(); 
}); 

Это вызовет click обработчик просто привязан на <a id="something"> Элемент, который идентифицирует. В сочетании с вашим текущим кодом сокращен:

+0

Это на самом деле не работает. Я попробовал, просто добавив if (location part, и это не сработало, а затем весь код и вкладки перестали всматриваться. – dmitri

+0

@dmitri - у вас есть страница с примерами, на которой вы можете предоставить ссылку? –

+0

К сожалению, нет, ее только на моем местном atm – dmitri

Смежные вопросы