http://jsfiddle.net/yrM3H/2/
我有以下代码:
jQuery(document).ready(function() {
jQuery(".toggle").next(".hidden").hide();
jQuery(".toggle").click(function()
{
$('.active').toggleClass('active').next('.hidden').slideToggle(300);
$(this).toggleClass('active').next().slideToggle("fast");
});
});
我有多个<div>
,我的想法是当我打开一个<div>
时,它会切换另一个<div>
。然后,当我点击另一个<div>
时,它会隐藏打开的<div>
。因此,一次只有一个<div>
是打开的。
我唯一的问题是,在这段代码中,当我试图关闭一个已经打开的<div>
时,它将关闭,然后再次打开。因此,总有一个<div>
是打开的。
任何帮助都将不胜感激,谢谢。
我在下面添加了HTML和CSS。一切正常,除了我不能得到它,所以它们都被关闭了。
我有5个这样堆叠在一起的包装纸。
**为清晰起见而编辑**
// HTML
<div class="toggle"></div>
<div class="hidden"></div>
// CSS
.toggle {width:398px; height:48px; cursor: pointer;}
.hidden {width:300px; height:75px; background-color:#333333; margin-left:50px; text-indent:25px;}
发布于 2011-07-29 07:27:31
这将修复它:http://jsfiddle.net/yrM3H/3/
jQuery(".toggle").click(function()
{
$('.active').not(this).toggleClass('active').next('.hidden').slideToggle(300);
$(this).toggleClass('active').next().slideToggle("fast");
});
您必须使用.not()
从".active“部分中排除所单击的元素,因为所单击的元素是".active”to。
https://stackoverflow.com/questions/6866747
复制相似问题