Табы с подгрузкой списка со ссылками

187
27 марта 2018, 00:12

Вопроса два:

1) Как логичнее построить структуру и сам скрипт, чтоб в конечном итоге, можно было выбрать первый tab, затем subtab, после чего отобразятся отфильтрованные материалы.

2) Можно ли не выводить сразу весь список под фильтр, а подтягивать данные из массива? Сам массив может иметь любой вид, например:

var res = [{
   name:   "Result link 1",
   link:   "/link1",
   filter: "sub-tab-1"
},
{
   name: "Result link 2",
   link:   "/link2",
   filter: "sub-tab-1"
}];

Основной вопрос второй, так как с первым особых проблем не возникнет. Там можно взять ID элемента на который был клик и сокрыть все элементы, которые не содержат класс в виде выбранного ID. Я оставил код в чистом виде для тестов.

$(".tabs-container").each(function() { 
  $('.sub-tabs').not(":first").hide().end().find("span:first").addClass("active"); 
  $('.item').not($('.sub-ver1')).hide(); 
}); 
$(".tabs-container").on("click", ".tab-select > span", function(e) { 
  $(this).addClass("active").siblings().removeClass("active"); 
 
});
.active { 
  color: red; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="tabs-container"> 
  <div class="tabs tab-select"> 
    <span class="active" id="tab1">Tab 1</span> 
    <span id="tab2">Tab 1</span> 
  </div> 
  <div class="sub-tabs tab-select tab1"> 
    <span id="sub-ver1">Ver 1</span> 
    <span id="sub-ver2">Ver 2</span> 
    <span>Ver 3</span> 
    <span>Ver 4</span> 
    <span>Ver 5</span> 
  </div> 
  <div class="sub-tabs tab-select tab2"> 
    <span>Ver 6</span> 
    <span>Ver 7</span> 
    <span>Ver 8</span> 
    <span>Ver 9</span> 
  </div> 
  <div class="item sub-ver1"> 
    <a href="/link">Result 1</a> 
  </div> 
  <div class="item sub-ver1"> 
    <a href="/link">Result 2</a> 
  </div> 
  <div class="item sub-ver2"> 
    <a href="/link">Result 3</a> 
  </div> 
</div>

READ ALSO
Не срабатывает таймаут в функции [дубликат]

Не срабатывает таймаут в функции [дубликат]

На данный вопрос уже ответили:

190
Возможно ли RTL и LTR одновременно в той же форме?

Возможно ли RTL и LTR одновременно в той же форме?

Дано, форма на сайте который rtl, форма обратной связи, соответсвенно тоже rtl (поля в форме text-align: right)Есть товарищ который утверждает что общепринятая...

176
js и select в мобильной версии

js и select в мобильной версии

Есть select и при onclick срабатывает функция:

174
Почему фото не загружается на сайт?

Почему фото не загружается на сайт?

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

200