Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2017, 18:16
Аспирант
Отправить личное сообщение для dezytube Посмотреть профиль Найти все сообщения от dezytube
 
Регистрация: 16.06.2015
Сообщений: 34

как сделать вперед, назад в табах?
Привет, кто знает как сделать в табах Вперед назад?
Например есть код..

$(document).ready(function() { 

	(function ($) { 
		$('.tab ul.tabs').addClass('active').find('> li:eq(0)').addClass('current');
		
		$('.tab ul.tabs li a').click(function (g) { 
			var tab = $(this).closest('.tab'), 
				index = $(this).closest('li').index();
			
			tab.find('ul.tabs > li').removeClass('current');
			$(this).closest('li').addClass('current');
			
			tab.find('.tab_content').find('div.tabs_item').not('div.tabs_item:eq(' + index + ')').slideUp();
			tab.find('.tab_content').find('div.tabs_item:eq(' + index + ')').slideDown();
			
			g.preventDefault();
		} );

	})(jQuery);

});


<div class="tab">

	<ul class="tabs">
		<li><a href="#">1</a></li>
		<li><a href="#">2</a></li>
		<li><a href="#">3</a></li>
	</ul> <!-- / tabs -->

	<div class="tab_content">
		<div class="tabs_item">
			<button>Назад</button>
			<p>Контент</p>
			<button>Вперед</button>
		</div>
		<div class="tabs_item">
			<button>Назад</button>
			<p>Контент</p>
			<button>Вперед</button>
		</div>
		<div class="tabs_item">
			<button>Назад</button>
			<p>Контент</p>
			<button>Вперед</button>
		</div>
	</div>
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2017, 19:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

dezytube,
нужен индекс, функция которая меняет индекс, и функция показа слайда согласно индексу, любой нормальный слайдер сделан по этой схеме.

Ошибка в слайдере
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2017, 19:07
Аспирант
Отправить личное сообщение для dezytube Посмотреть профиль Найти все сообщения от dezytube
 
Регистрация: 16.06.2015
Сообщений: 34

Мозги вообще не варят как это сделать ((
Ответить с цитированием
  #4 (permalink)  
Старый 12.04.2017, 19:43
Аспирант
Отправить личное сообщение для dezytube Посмотреть профиль Найти все сообщения от dezytube
 
Регистрация: 16.06.2015
Сообщений: 34

Подскажите как сделать
В благодарность заплачу
Ответить с цитированием
  #5 (permalink)  
Старый 12.04.2017, 19:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

dezytube,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .current{
     background-color: hsla(25, 75%, 47%, 1);
  }
  .tabs_item:nth-child(n+2){
     display: none;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var index = 0,
        li = $(".tabs li"),
        tab = $(".tabs_item"),
        len = li.length;

    function setIndex(x, add) {
        return function(event) {
            event.preventDefault();
            index = add ? index + x : x;
            index = limit(index);
            show()
        }
    }

    function limit(num) {
        if (num >= len) num = 0;
        if (num < 0) num = len - 1;
        return num
    }

    function show() {
        li.not(li.eq(index).addClass("current")).removeClass("current");
        tab.stop().not(tab.eq(index).slideDown()).slideUp()
    }
    li.each(function(indx, el) {
        $(el).on("click", setIndex(indx));
        var button = $("button", tab[indx]);
        button.first().on("click", setIndex(-1, true));
        button.last().on("click", setIndex(1, true))
    })
});
  </script>
</head>

<body>
<div class="tab">

  <ul class="tabs">
    <li class="current"><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
  </ul> <!-- / tabs -->

  <div class="tab_content">
    <div class="tabs_item">
      <button>Назад</button>
      <p>Контент1</p>
      <button>Вперед</button>
    </div>
    <div class="tabs_item">
      <button>Назад</button>
      <p>Контент2</p>
      <button>Вперед</button>
    </div>
    <div class="tabs_item">
      <button>Назад</button>
      <p>Контент3</p>
      <button>Вперед</button>
    </div>
  </div>
</div>


</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 12.04.2017, 19:50
Аспирант
Отправить личное сообщение для dezytube Посмотреть профиль Найти все сообщения от dezytube
 
Регистрация: 16.06.2015
Сообщений: 34

Большое спасибо написал вам в Лс.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понимаю JavaScript. Как сделать ожидание события загрузки данных? xintrea AJAX и COMET 7 01.06.2013 17:18
как сделать чтобы в popup окне показывалось картинка? sarik Общие вопросы Javascript 31 15.03.2013 13:12
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19