Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2020, 17:41
Интересующийся
Отправить личное сообщение для max1985 Посмотреть профиль Найти все сообщения от max1985
 
Регистрация: 03.07.2018
Сообщений: 25

Переходы по табам с помощью ссылок в описании вкладки
Здравствуйте!
Помогите допилить вкладки сделанные на бутстрап 3
Сейчас код выглядит так:
<div class="row techno-description" role="tabpanel" id="myTab">
<div id="cf7" class="shadow">
  <img class="opaque" src="/img/bg/111.png" />
  <img src="/img/bg/222.png" />
  <img src="/img/bg/333.png" />
</div>
<ul class="nav nav-tabs techno-menu cf7_controls" id="guide-tabs">
  <li class="active" id="selected">
    <a class="first" data-toggle="tab" href="#1">111</a>
  </li>
  <li>
    <a class="first" data-toggle="tab" href="#2">222</a>
  </li>
  <li>
    <a class="first" data-toggle="tab" href="#3">333</a>
  </li>
</ul>	
</div>

<div class="tab-content">
  <div class="tab-pane active" id="1">
    <div class="row">
  <div class="col-md-3 img-box">
	  111
  </div>
  <div class="col-md-9 text-box">
  <p>Описание 111</p>
  <div class="descr"><a data-toggle="tab" href="#2"><img src="/img/compl/pr3.png" /></a></div>
  </div>
</div>
  </div>
  <div class="tab-pane" id="2">
    <div class="row">
  <div class="col-md-3 img-box">
      222
  </div>
  <div class="col-md-9 text-box">
  <div class="row">
  <p>Описание 222</p>
  <div class="descr"><a data-toggle="tab" href="#3"><img src="/img/compl/pr3.png" /></a></div>
  </div>
  </div>
</div>
  </div>
  <div class="tab-pane" id="3">
    <div class="row">
  <div class="col-md-3 img-box">
	  333
  </div>
  <div class="col-md-9 text-box">
  <p>Описание 333</p>
  <div class="descr"><a data-toggle="tab" href="#4"><img src="/img/compl/pr3.png" /></a></div>
  </div>
</div>
  </div>

<script>
$(document).ready(function() {
  $(".cf7_controls").on('click', 'li', function() {
    $("#cf7 img").removeClass("opaque");

    var newImage = $(this).index();

    $("#cf7 img").eq(newImage).addClass("opaque");

    $(".cf7_controls li").removeId("selected");
    $(this).addId("selected");
  });
});
</script>

</div>
Сейчас при переходе по такой ссылке внутри вкладки
<div class="descr"><a data-toggle="tab" href="#4"><img src="/img/compl/pr3.png" /></a></div>

содержимое вкладки открывается, а сам таб не меняется.
Подскажите чего не хватает?
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2020, 17:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от max1985
$(".cf7_controls li").removeId("selected");
$(this).addId("selected");
???
может вы хотели так
$(".cf7_controls li").removeClass("selected");
    $(this).addClass("selected");
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2020, 17:55
Интересующийся
Отправить личное сообщение для max1985 Посмотреть профиль Найти все сообщения от max1985
 
Регистрация: 03.07.2018
Сообщений: 25

Сообщение от рони Посмотреть сообщение
???
может вы хотели так
$(".cf7_controls li").removeClass("selected");
    $(this).addClass("selected");
Тот скрипт не при чем, он меняет фото над табами при переходе по ним
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2020, 17:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

max1985,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .opaque{
      border: 5px solid #FF0000;
  }
  .active{
      border: 5px solid #008000;
  }
  .tab-pane{
      display: none;
  }
  .tab-pane.active{
      display:  block;
  }
  </style>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

</head>

<body>
<div class="row techno-description" role="tabpanel" id="myTab">
<div id="cf7" class="shadow">
  <img class="opaque" src="/img/bg/111.png" />
  <img src="/img/bg/222.png" />
  <img src="/img/bg/333.png" />
</div>
<ul class="nav nav-tabs techno-menu cf7_controls" id="guide-tabs">
  <li class="active" >
    <a class="first" data-toggle="tab" href="#1">111</a>
  </li>
  <li>
    <a class="first" data-toggle="tab" href="#2">222</a>
  </li>
  <li>
    <a class="first" data-toggle="tab" href="#3">333</a>
  </li>
</ul>
</div>

<div class="tab-content">
  <div class="tab-pane active" id="1">
    <div class="row">
  <div class="col-md-3 img-box">
	  111
  </div>
  <div class="col-md-9 text-box">
  <p>Описание 111</p>
  <div class="descr"><a data-toggle="tab" href="#2"><img src="/img/compl/pr3.png" /></a></div>
  </div>
</div>
  </div>
  <div class="tab-pane" id="2">
    <div class="row">
  <div class="col-md-3 img-box">
      222
  </div>
  <div class="col-md-9 text-box">
  <div class="row">
  <p>Описание 222</p>
  <div class="descr"><a data-toggle="tab" href="#3"><img src="/img/compl/pr3.png" /></a></div>
  </div>
  </div>
</div>
  </div>
  <div class="tab-pane" id="3">
    <div class="row">
  <div class="col-md-3 img-box">
	  333
  </div>
  <div class="col-md-9 text-box">
  <p>Описание 333</p>
  <div class="descr"><a data-toggle="tab" href="#4"><img src="/img/compl/pr3.png" /></a></div>
  </div>
</div>
  </div>
<script>
$(function() {
  $(".cf7_controls").on('click', 'li', function() {
    var index = $(this).index();
    $("#cf7 img").removeClass("opaque").eq(index).addClass("opaque");
    $(".cf7_controls li").removeClass("active").eq(index).addClass("active");
    $(".tab-pane").removeClass("active").eq(index).addClass("active");
  });
});
</script>
</div>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 04.12.2020, 17:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от max1985
Тот скрипт не при чем,
откуда это removeId и addId?
Ответить с цитированием
  #6 (permalink)  
Старый 04.12.2020, 18:04
Интересующийся
Отправить личное сообщение для max1985 Посмотреть профиль Найти все сообщения от max1985
 
Регистрация: 03.07.2018
Сообщений: 25

рони,
https://prnt.sc/vvu7ij
Не меняется таб при переходе по этой ссылке...
Ответить с цитированием
  #7 (permalink)  
Старый 04.12.2020, 18:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

max1985,
здесь код работает? если нет то, какой браузер?
Ответить с цитированием
  #8 (permalink)  
Старый 04.12.2020, 18:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

max1985,
можно только гадать, возможно у вас нет jquery для $, тогда нужно все $ заменить на jQuery
jQuery(function() {
  jQuery(".cf7_controls").on('click', 'li', function() {
    var index = jQuery(this).index();
    jQuery("#cf7 img").removeClass("opaque").eq(index).addClass("opaque");
    jQuery(".cf7_controls li").removeClass("active").eq(index).addClass("active");
    jQuery(".tab-pane").removeClass("active").eq(index).addClass("active");
  });
});
Ответить с цитированием
  #9 (permalink)  
Старый 04.12.2020, 18:46
Интересующийся
Отправить личное сообщение для max1985 Посмотреть профиль Найти все сообщения от max1985
 
Регистрация: 03.07.2018
Сообщений: 25

Сообщение от рони Посмотреть сообщение
max1985,
можно только гадать, возможно у вас нет jquery для $, тогда нужно все $ заменить на jQuery
jQuery(function() {
  jQuery(".cf7_controls").on('click', 'li', function() {
    var index = jQuery(this).index();
    jQuery("#cf7 img").removeClass("opaque").eq(index).addClass("opaque");
    jQuery(".cf7_controls li").removeClass("active").eq(index).addClass("active");
    jQuery(".tab-pane").removeClass("active").eq(index).addClass("active");
  });
});
jquery есть и все абсолютно так же работает как и с Вашим скриптом, единственное таб не становиться активным и вверху картинка не меняется при нажатии на кнопку <div class="descr"><a data-toggle="tab" href="#4"><img src="/img/compl/pr3.png" /></a></div>
, а содержимое меняется.
При переходе по табам все ок!

Последний раз редактировалось max1985, 04.12.2020 в 18:49.
Ответить с цитированием
  #10 (permalink)  
Старый 04.12.2020, 20:10
Интересующийся
Отправить личное сообщение для max1985 Посмотреть профиль Найти все сообщения от max1985
 
Регистрация: 03.07.2018
Сообщений: 25

Сообщение от рони Посмотреть сообщение
max1985
Сейчас ссылке присвоил онклик
<div class="descr"><a onclick="$('a[href=\'#2\']').trigger('click');"><img src="/img/compl/pr3.png" /></a></div>

теперь при нажатии на нее, картинка сверху изменилась, а таб не сменился
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие блока ссылок с помощью OnClick N1rvana Общие вопросы Javascript 0 02.04.2017 17:03
Вкладки на странице с помощью bootstrap Татьяна_Кукавская Элементы интерфейса 1 20.01.2014 18:50
Создание фильтра базы ссылок с помощью регулярных выражений SvetozarPNZ Events/DOM/Window 8 28.10.2010 13:15
Установить id на на цикл ссылок с помощью таймера ivanweb jQuery 5 09.06.2010 11:05