我有一个页面,当用户点击标题时,会显示以下div切换。
我想以某种方式说出是否显示任何其他div:块然后将它们设置为先显示无。
我有以下......
$('.office-title').click(function(){
$(this).next('div').slideToggle();
return false;
});
我的html标记就是这样......
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
答案 0 :(得分:16)
</office>
不是有效的结算。结账应为</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
<div class="office-row">
<h3 class="office-title">Title</h3>
<div class="office">sadasd</div>
</div>
CSS:
.office
{
display: none;
}
和jquery:
$(function () {
$('.office-title').click(function () {
$(this).next('div').slideToggle();
$(this).parent().siblings().children().next().slideUp();
return false;
});
});
答案 1 :(得分:2)
这应该这样做:http://jsfiddle.net/gKgJ7/
$('.office-title').click(function(){
$('.office').slideUp();
$(this).next('div').slideToggle();
return false;
});
这不是一个有效的结束:
<div class="office">sadasd</office>
//---------------------^^^^^^^^----should be </div>
答案 2 :(得分:0)
$('.office-title').click(function(){
$(this).next('div').slideToggle();
$(this).parent(".office-row").siblings().hide(); // this should help
return false;
});
答案 3 :(得分:0)
尝试如下......它会起作用......
小提琴:http://jsfiddle.net/RYh7U/83/
$(document).ready(function () {
$('.office-title').next('div').slideToggle();
$('.office-title').click(function(){
$('.office-title').next('div').slideUp();
$(this).next('div').slideToggle();
return false;
});
});
答案 4 :(得分:0)
这将关闭所有带动画的open div并打开所需的div
$('.office-title').click(function(){
var that = $(this);
if('.office').each(function() {
if($(this) == $(that).next('div')) {
$(this).slideToggle();
}
else {
if($(this).css('display')!=='none') {
$(this).slideToggle();
}
}
});
return false;
});