Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Переделать табы (https://javascript.ru/forum/dom-window/70829-peredelat-taby.html)

Igorsrt 05.10.2017 13:15

Переделать табы
 
Здравствуйте!
Прошу не ругайте, если недостаточно ясно излагаю.
В общем есть у меня таб, сделанный на bootstrap. И нужно его переделать, а именно: контент из вкладок вытащить т.к. во всех вкладках одинаковый (это не сложно). Но при нажатии на ссылку таба к некоторым элементам по списку, добавлять дополнительный класс css dop_class, согласно спискам.
<!-- ссылки бывших вкладок -->
<ul class="nav nav-tabs">
 <li class="active"><a href="#carousel-2658">Ссылка1</a></li>
 <li><a href="#carousel-2657">Ссылка2</a></li>
 <li><a href="#carousel-2656">Ссылка3</a></li>
</ul>
<!-- список элементов -->
<div>
    <div id="el1" class="col-xs-2">Элемент1</div>
	<div id="el2" class="col-xs-2">Элемент2</div>
	<div id="el3" class="col-xs-2">Элемент3</div>
	<div id="el4" class="col-xs-2">Элемент4</div>
	<div id="el5" class="col-xs-2">Элемент5</div>
	<div id="el6" class="col-xs-2">Элемент6</div>
</div>

<!-- Tab panes -- Бывшие табы - а теперь списки по которым нужно добавлять классы 
 тут даже не знаю как правильно написать в html, в общем-то не принципиально, надеюсь понятно...-->
 <div class="tab-content>
   <div class="tab-pane active" id="carousel-2658">
Array ([0] => el1  [1] => el3)
   </div>
      <div class="tab-pane" id="carousel-2657">
Array ([0] => el1  [1] => el6)
   </div>
      <div class="tab-pane" id="carousel-2656">
Array ([0] => el2  [1] => el4)
   </div>
 </div>

Еще раз извиняюсь, сам вижу что как-то не понятно объясняю...
:(

Igorsrt 05.10.2017 15:40

Попытка номер 2... бог с ними с табами - я уже сам понимаю, что это все неправильно... удалил я табы - и вот теперь у меня остается
<!-- список ссылок -->
<ul>
 <li class="active"><a class="resh-1" id="1" href="#1">Ссылка1</a></li>
 <li><a id="2" class="resh-2" href="#2">Ссылка2</a></li>
 <li><a id="3" class="resh-3" href="#3">Ссылка3</a></li>
</ul>
<!--и список элементов -->
<div class="obl-prim">
    <div id="el1" class="col-xs-2">Элемент1</div>
	<div id="el2" class="col-xs-2">Элемент2</div>
	<div id="el3" class="col-xs-2">Элемент3</div>
	<div id="el4" class="col-xs-2">Элемент4</div>
	<div id="el5" class="col-xs-2">Элемент5</div>
	<div id="el6" class="col-xs-2">Элемент6</div>
</div>

Нужен скрипт, который бы при нажатии на ссылку добавлял бы к <div class="obl-prim"> новый класс css, соответствующий например классу ссылки (resh-1, resh-2...) ссылки... Так можно сделать?

ksa 05.10.2017 16:46

Цитата:

Сообщение от Igorsrt
при нажатии на ссылку добавлял бы к <div class="obl-prim"> новый класс css, соответствующий например классу ссылки (resh-1, resh-2...) ссылки... Так можно сделать?

Да, можно. :yes:
Но у меня рабочий день уже кончился... Если никто за вечер не покажет примера - я тебе завтра покажу. ;)

Igorsrt 05.10.2017 16:51

ох, побыстрее бы надо...

Nexus 05.10.2017 17:05

Не тестировал.
$('[class^="resh-"]').click(function(){
    var cls=$(this).attr('class').split(' ').filter(function(val){
        return val.indexOf('resh-')==0;
    });
    $('.obl-prim').addClass(cls.join(' '));
});

Igorsrt 05.10.2017 17:15

Цитата:

Сообщение от Nexus (Сообщение 466642)
Не тестировал.
$('[class^="resh-"]').click(function(){
    var cls=$(this).attr('class').split(' ').filter(function(val){
        return val.indexOf('resh-')==0;
    });
    $('.obl-prim').addClass(cls);
});

не срабатывает у меня :(

Nexus 05.10.2017 17:25

Igorsrt, консоль браузера смотрели?
В Google Chrome клавиша F12, вкладка "Console".

Библиотека jQuery подключена к странице?
Скрипт разместили в конце страницы?

Igorsrt 05.10.2017 17:30

Да, jQuery подключена (сайт на wordpress, там много всяких jQuery скриптов работает)
скрипт вставляю в конец перед </body>

Nexus 05.10.2017 17:38

Igorsrt, поправил скрипт в комментарии №5.
Смотрите строку №5.

Igorsrt 05.10.2017 17:44

Цитата:

Сообщение от Nexus (Сообщение 466646)
Igorsrt, поправил скрипт в комментарии №5.
Смотрите строку №5.

не знаю, все равно не работает почему-то


Часовой пояс GMT +3, время: 00:42.