вывод контента по принципу табов
Добрый день!
Есть разметка
<div class="container">
<div class="item-box">
<div class="item">1</div>
<div class="item">2</div>
</div>
<div class="item-box">
<div class="item">3</div>
<div class="item">4</div>
</div>
<div class="item-box">
<div class="item">5</div>
<div class="item">6</div>
</div>
<div class="item-box">
<div class="item">7</div>
<div class="item">8</div>
</div>
....
</div>
<div class="items-content">
<div class="item-content">1</div>
<div class="item-content">2</div>
<div class="item-content">3</div>
<div class="item-content">4</div>
<div class="item-content">5</div>
<div class="item-content">6</div>
<div class="item-content">7</div>
<div class="item-content">8</div>
.....
</div>
По клику на item должен открываться соответствующий по порядковому номеру item-content пишу код:
$(".item").click(function() {
$(".item-content").hide().eq($(this).index()).fadeIn();
});
В этом случае выводятся только первый и второй контент, так как item заключен в бокс и его порядковый номер максимум 2. Как сделать чтоб все работало нормально. |
для данного случая
$(".item-content").hide().eq( $(this).text() -1 ).fadeIn();
:D |
$(".item-content").hide().eq( $(this).index() + (($(this).parent().index()+1)*2)-2).fadeIn();
|
Первый вариант для меня не подходит, так как внутри блоков есть еще много других))))а вот второй вариант замечательный, все работает отлично. Огромное Вам спасибо!
|
... открывашка ... наверно №...
|
j0hnik,
зачем так сложно? |
рони,
как проще? |
j0hnik,
смотри пост №1 и измени/поменяй два селектора |
j0hnik,
что мешает найти нужный индекс сразу!!! |
рони,
родители :D |
j0hnik,
$(".item").click(function() {
$(".item-content").hide().eq($(что-то_здесь?).index(что-то_тут?)).fadeIn();
});
|
рони,
$(".item").click(function() {
$(".item-content").hide().eq($(this).index('.item','.container')).fadeIn();
});
один тогда поменять |
j0hnik,
//$(".item").index(this)
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.items-content > div{
display: none;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var item = $(".item"), content = $(".item-content");
item.click(function() {
content.hide().eq(item.index(this)).fadeIn();
});
});
</script>
</head>
<body>
<div class="container">
<div class="item-box">
<div class="item">1</div>
<div class="item">2</div>
</div>
<div class="item-box">
<div class="item">3</div>
<div class="item">4</div>
</div>
<div class="item-box">
<div class="item">5</div>
<div class="item">6</div>
</div>
<div class="item-box">
<div class="item">7</div>
<div class="item">8</div>
</div>
....
</div>
<div class="items-content">
<div class="item-content">1</div>
<div class="item-content">2</div>
<div class="item-content">3</div>
<div class="item-content">4</div>
<div class="item-content">5</div>
<div class="item-content">6</div>
<div class="item-content">7</div>
<div class="item-content">8</div>
.....
</div>
</body>
</html>
|
рони,
спасибо =) |
| Часовой пояс GMT +3, время: 21:06. |