как сделать вперед, назад в табах?
Привет, кто знает как сделать в табах Вперед назад?
Например есть код..
$(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> |
dezytube,
нужен индекс, функция которая меняет индекс, и функция показа слайда согласно индексу, любой нормальный слайдер сделан по этой схеме. http://javascript.ru/forum/dom-windo...tml#post445670 |
Мозги вообще не варят как это сделать ((
|
Подскажите как сделать
В благодарность заплачу |
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>
|
Большое спасибо написал вам в Лс.
|
| Часовой пояс GMT +3, время: 01:32. |