|
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<style type='text/css'>
.box {
display: none;
padding: 0px !important;
background-color: #FFF;
}
.box.visible {
display: block;
padding: 10px;
}
ul.tabs {
height: 27px;
background: #FFF;
border-bottom: 1px solid #777;
padding: 0 4px;
overflow: hidden;
list-style: none;
}
.tabs li.current, .tabs li:hover {
background-color:#52c8ff;
color:#FFFFFF;
border-color:#52c8ff;
border-left-style: solid;
border-right-style: solid;
border-top-style: solid;
}
.tabs li {
float: left;
color: grey;
line-height: 27px;
margin-right: 1px !important;
padding: 0 7px 10px 8px !important;
font-weight: bold;
cursor: pointer;
}
.tabs li.current span {
color: #FFF;
}
.tabs li span {
float: left;
padding: 0 11px 0 0;
height: 27px;
color: #FFF;
}
</style>
<script type='text/javascript'>
$(function () {
$('ul.tabs').delegate('li:not(.current)', 'click', function () {
act(this);
})
function act(Obj){
$(Obj).addClass('current').siblings().removeClass('current');
var tabId = ($(Obj).index() + 1).toString();
$('.info').html('Здесь какая-то информация ' + tabId);
$('.pict').html('Здесь потом будет картинка ' + tabId);
$('.add').html('А здесь еще какая-то информация ' + tabId);
};
})
</script>
</head>
<body>
<div class="section">
<div class="box visible">
<div class='info'>Здесь какая-то информация 1</div>
<div class='pict'>Здесь потом будет картинка 1</div>
</div>
<ul class="tabs">
<li class="current">Вкладка 1</li>
<li>Вкладка 2</li>
<li>Вкладка 3</li>
</ul>
<div class='add'>А здесь еще какая-то информация 1</div>
</div>
</body>
</html>
|
Igorsrt,
для структуры
<div class="tabs">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<div>
new 1
</div>
<div>
new 2
</div>
<div>
new 3
</div>
</div>
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.tabs > div {
display: none;
}
.tabs > ul > li.current {
background-color: #52C8FF;
}
.tabs > ul > li {
display: inline-block;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$(".tabs").each(function(indx, el) {
var li = $(">ul>li", el),
divs = $(">div", el);
li.on("click", function(event) {
event.preventDefault();
var i = li.index(this);
li.not($(this).toggleClass("current")).removeClass("current");
divs.not(divs.eq(i).toggle()).hide()
})
})
});
</script>
</head>
<body>
<div class="tabs">
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
<div>
<div class="tabs">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<div>
new 1
</div>
<div>
new 2
</div>
<div>
new 3
</div>
</div>
</div>
<div>
test 2 add tabs
</div>
<div>
test 3 add tabs
</div>
</div>
</body>
</html>
|
Igorsrt,
http://api.jqueryui.com/tabs/ |
что-то, я не понял... или это не то (
В первом случае (коде Рони), весь контент "засунут" в скрипт и к нему подставляется ID таба? |
Цитата:
|
Igorsrt,
Цитата:
Весь контент + ID таба засунут в скрипт для примера. У вас откуда появляется контент в табах? В скрипте по конкретному ID таба можно брать контент с сервера или выбирать из заранее загруженного массива - совершенно необязательно иметь для каждого таба заранее расписанный html |
Цитата:
контент в табах появляется из php функции... насколько я понимаю, весь "геморой" в "моем" коде возникает из-за того что разным элементам li в раных div присвоены разным классам... Можно сделать так, что бы функция js "очищала" все элементы на странице (кроме нужного) от класса current? |
Igorsrt,
Цитата:
Насчет очистки - удалите сначала класс у всех, потом назначьте нужному. |
Цитата:
контент в табах появляется из php функции... насколько я понимаю, весь "геморой" в "моем" коде возникает из-за того что разным элементам li в разных div присвоены разные классы... Можно сделать так, что бы функция js "очищала" все элементы на странице (кроме нужного) от класса current? |
| Часовой пояс GMT +3, время: 21:57. |