我定位了slideUp()
和slideDown()
的{{1}}事件的div。一切都工作正常,除非我点击slideUp,它上升,然后再次下降。我想在点击相同的按钮时滑动切换。
演示 fiddle
.next()
JS:
<div class="earnContent">toggle one</div>
<div class="content">content one</div>
<div class="earnContent">toggle two</div>
<div class="content">content tow</div>
<div class="earnContent">toggle three</div>
<div class="content">content three</div>
答案 0 :(得分:1)
我在这里做了改变:
$(".earnContent").click(function(e) {
flag = ($(this).next().css('display')=='block');
$(".content").slideUp(300);
if(!flag)
$(this).next().slideDown(300);
});
注意:在标志中我正在检查下一个内容div是否不是
block
表示 已关闭然后只打开它,否则不要。
答案 1 :(得分:1)
一种可能的解决方案如下:
$(".earnContent").click(function(e) {
// Retrieve current content
var $thisContent = $(this).next();
// Hide any other shown content
$(".content").not($thisContent).slideUp(300);
// Toggle the visibility of current content
$thisContent.slideToggle(300);
});
<强> Fiddle Here 强>
答案 2 :(得分:1)
这很简单: -
$(".earnContent").click(function (e) {
$(".content").not($(this).next()).slideUp(300);
$(this).next().slideToggle(300);
});