|
Переход на нужную вкладку таба по href
Приветствую!
На странице есть блок с вкладками. Нужно на этой же странице разместить ссылку, за пределами блока с табами, выше блока с табами, и по клику по этой ссылке, переходить во второй таб. Можете помочь дописать скртипт, чтобы ссылка работала? Заранее спасибо откликнувшимся. Ссылка выше блока с табами: <a href="#dsGoods2">Ссылка на таб2</a> Блок с табами: <div> <div> <div> <ul> <li class="current"><a id="tab1" href="#tab1">таб1</a></li> <li><a id="tab2" href="#tab2">таб2</a></li> <li><a id="tab3" href="#tab3">таб3</a></li> </ul> </div> </div> <div> <div class="content bd" id="dsGoods1"> <div class="dss-goods-info-content"> Содержание вкладки 1 </div> </div> </div> <div> <div class="dss-goods-title-bar hd" style="display: none"> <h4><a href="javascript:void(0);">таб2</a></h4> </div> <div class="dss-goods-info-content bd" id="dsGoods2" style="display: none"> Содержание вкладки 2 </div> </div> <div> <div class="dss-goods-title-bar hd" style="display: none"> <h4><a href="javascript:void(0);">таб3</a></h4> </div> <div class="dss-goods-info-content bd" id="dsGoods3" style="display: none"> Содержание вкладки 3 </div> </div> </div>
// таб1 - показывает по умолчанию
$('#tab1').click(function(){
$('.bd').css('display','none');
$('#dsGoods1').css('display','');
$('.hd').css('display','none');
});
// Нажмите на таб2, чтобы скрыть другую вкладку и их строку заголовка.
$('#tab2').click(function(){
$('.bd').css('display','none');
$('#dsGoods2').css('display','');
$('.hd').css('display','none');
});
// Нажмите на таб3, чтобы скрыть другую вкладку и их строку заголовка.
$('#tab3').click(function(){
$('.bd').css('display','none');
$('#dsGoods3').css('display','');
$('.hd').css('display','none');
});
|
Цитата:
|
Цитата:
Ссылка работает, по клику перемещает к вкладке #dsGoods2 и открывает содержимое вкладки #dsGoods2. Однако не переключает на заголовок таба #tab2, а остается в заголовке #tab1. Можете с этим помочь? |
Цитата:
<style>
li {
list-style: none;
display: inline-block;
}
.tab-content:not(#tab1) {
display: none;
}
</style>
<div>
<div>
<ul>
<li class="current"><a href="#tab1">таб1</a></li>
<li><a href="#tab2">таб2</a></li>
<li><a href="#tab3">таб3</a></li>
</ul>
</div>
<div class="tab-content" id="tab1">
<h4>таб1</h4>
Содержание вкладки 1
</div>
<div class="tab-content" id="tab2">
<h4>таб2</h4>
Содержание вкладки 2
</div>
<div class="tab-content" id="tab3">
<h4>таб3</h4>
Содержание вкладки 3
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$('ul').on('click', 'a', function(e) {
e.preventDefault();
var active = $(this).parent().siblings('.current').removeClass('current').children().attr('href'),
current = $(this).parent().addClass('current').end().attr('href');
$(active).hide();
$(current).show()
});
</script>
|
Цитата:
и смотрите пример от laimas, |
В пределах вкладок ваш вариант работает, как и мой. Поставил ссылку за пределами вкладок, ваш вариант не работает как и мой. Может я чего не так делаю, но в вашем примере нет внешне расположенной ссылки, чтобы протестировать.
|
Цитата:
|
Цитата:
|
Цитата:
|
Vaska,
$('[href="#dsGoods2"]').click(() => $('#tab2').click());
|
| Часовой пояс GMT +3, время: 23:54. |
|