Возможно, вы захотите использовать существующую библиотеку вкладок пользовательского интерфейса jquery, и это решит множество ваших проблем.
http://jqueryui.com/demos/tabs/
Использование этого позволит вам лучшесвязь между вашими элементами списка и элементами управления, которые они контролируют.Добавьте ссылку в заголовок
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
или загрузите ее и удалите то, что вам не нужно.Добавьте следующее в свой CSS
.ui-tabs .ui-tabs-hide {
display: none !important;
}
и измените ваши ссылки так, чтобы они соответствовали спецификации jqueryUI
<div id="tabs">
<ul>
<li><a href="#tabs-1">tabone</a></li>
, а затем идентификаторы div для совпадения
<div id="tabs-1">
<div class="entry-post">
это должно сделать ассоциацию.Затем вы можете добавить управляющее поведение, чтобы оно читало
$(document).ready(function(){
$(function() {
$('#tabs').tabs();
});
, и это избавит вас от необходимости хранить массив div
, после чего вы сможете привязать функцию к событию tabselectкоторый будет скрывать элементы, которые вы хотите свернуть
$('#tabs').bind('tabsselect', function(event, ui) {
$('#tabs').children().not(ui.panel).children().children(".entry-content").hide();
});
ваш код должен выглядеть так:
<head>
<title>Collapse Divs</title>
<style type="text/css">
.ui-tabs .ui-tabs-hide {
display: none !important;
}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(function() {
$('#tabs').tabs();
});
$('#tabs').bind('tabsselect', function(event, ui) {
$('#tabs').children().not(ui.panel).children().children(".entry-content").hide();
});
$(".entry-content").hide();
$(".entry-title").click(function() {
$(this).parent().children(".entry-content").slideToggle(500);
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">tabone</a></li>
<li><a href="#tabs-2">tabtwo</a></li>
<li><a href="#tabs-3">tabthree</a></li>
</ul>
<div id="tabs-1">
<div class="entry-post">
...
<h1 class="entry-title">Title 3.3</h1>
<div class="entry-content">Lorem ipsum...</div>
</div>
</div>
</body>