Переделать табы
Здравствуйте!
Прошу не ругайте, если недостаточно ясно излагаю. В общем есть у меня таб, сделанный на 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>
Еще раз извиняюсь, сам вижу что как-то не понятно объясняю... :( |
Попытка номер 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...) ссылки... Так можно сделать? |
Цитата:
Но у меня рабочий день уже кончился... Если никто за вечер не покажет примера - я тебе завтра покажу. ;) |
ох, побыстрее бы надо...
|
Не тестировал.
$('[class^="resh-"]').click(function(){
var cls=$(this).attr('class').split(' ').filter(function(val){
return val.indexOf('resh-')==0;
});
$('.obl-prim').addClass(cls.join(' '));
});
|
Цитата:
|
Igorsrt, консоль браузера смотрели?
В Google Chrome клавиша F12, вкладка "Console". Библиотека jQuery подключена к странице? Скрипт разместили в конце страницы? |
Да, jQuery подключена (сайт на wordpress, там много всяких jQuery скриптов работает)
скрипт вставляю в конец перед </body> |
Igorsrt, поправил скрипт в комментарии №5.
Смотрите строку №5. |
Цитата:
|
Цитата:
<html>
<head>
<title>Untitled</title>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<!-- список ссылок -->
<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>
<script>
$(function(){
$('[class^="resh-"]').click(function(){
var cls=$(this).attr('class').split(' ').filter(function(val){
return val.indexOf('resh-')==0;
});
$('.obl-prim').addClass(cls.join(' '));
alert($('.obl-prim').attr('class'));
});
});
</script>
</body>
</html>
|
Igorsrt,
подключение скриптов в WP - https://wp-kama.ru/function/wp_enqueue_script |
Да, теперь заработало, спасибо... Только мне нужно, что бы старые классы очищались, а то получается после нескольких нажатий
<div id="obl-prim" class="obl-prim resh-4 resh-2 resh-7"> </div> |
А ссылки кроме класса resh-1 могут иметь и другие?
|
Цитата:
|
даже сам разобрался вроде
<script>
$(function(){
$('[class^="resh-"]').click(function(){
var cls=$(this).attr('class').split(' ').filter(function(val){
return val.indexOf('resh-')==0;
});
$('#obl-prim').removeClass();
$('#obl-prim').addClass(cls.join(' '));
});
});
</script>
Спасибо Вам огромное! :) |
Цитата:
$(function(){
$('#box a').click(function(e) {
e.preventDefault();
var o = $('.obl-prim');
o.attr('class', o.attr('class').replace(/resh-\d+/, '')).addClass(this.className);
});
});
|
Цитата:
|
| Часовой пояс GMT +3, время: 17:39. |