Cкрипт для ссылки на табу (вкладку)

табы имеют вид:
<div class="htabs" id="tabs">
	<a href="#tab1">таб1</a> <a href="#tab2">таб2</a> </div>
<div class="tab-content" id="tab1">Содержимое1</div>
<div class="tab-content" id="tab1">Содержимое2</div>


tabs.js
$.fn.tabs = function() {
	var selector = this;
	
	this.each(function() {
		var obj = $(this); 
		
		$(obj.attr('href')).hide();
		
		obj.click(function() {
			$(selector).removeClass('selected');
			
			$(this).addClass('selected');
			
			$($(this).attr('href')).fadeIn();
			
			$(selector).not(this).each(function(i, element) {
				$($(element).attr('href')).hide();
			});
			
			return false;
		});
	});

	$(this).show();
	
	$(this).first().click();
};
  • Вопрос задан
  • 2838 просмотров
Пригласить эксперта
Ответы на вопрос 5
dabich
@dabich
Web Developer
А причем тут php к хэш ссылкам? Хэш ссылки javascript`ом обрабатываются. И что должно выполнять вообще скрипт?
Ответ написан
Комментировать
@invox59 Автор вопроса
Нужен скрипт на страницу типа такого
<script>
$(function(){
$(location.hash).click();
});
</script>
только этот не работает. необходимо иметь рабочие ссылки для каждой вкладки на странице
например
site.ru/stranica#tab1
Ответ написан
Комментировать
MindMinimal
@MindMinimal
Front-end Developer, веб-разработчик
https://jqueryui.com/tabs/ - сюда на реализацию посмотрите. А так-то у меня где-то валялся скрипт в пару строк на табы.

@invox59 , собственно, вот то, о чем я говорил Собственно сам фидл - табы на пару строчек, все просто. Тебе понравится.
Ответ написан
Комментировать
@invox59 Автор вопроса
Может я не совсем корректно объясни задачу. Рабочие табы у меня есть. Мне необходимо переходить со сторонней страницы по ссылке вида site.ru/stranica#tab2 и попадать на нужную табу сразу. Так вот необходим скрипт который бы связывал ссылку и табу через hash
Ответ написан
Комментировать
dabich
@dabich
Web Developer
Нужно проверять при загрузке скрипта location.hash == '#tab1' и делать видимым тот или иной таб.

Приблизительно так.
$(function () {
  if (window.location.hash == '#tab1')
    $('#tab1').show();
  elseif (window.location.hash == '#tab2')
    $('#tab2').show();
});

И по умолчанию все табы должны быть скрытыми.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы