Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery .toggleClass(';活动';)在单击其他链接时不删除活动_Jquery_Slidetoggle - Fatal编程技术网

Jquery .toggleClass(';活动';)在单击其他链接时不删除活动

Jquery .toggleClass(';活动';)在单击其他链接时不删除活动,jquery,slidetoggle,Jquery,Slidetoggle,我试图做一个非常直接的滑动切换,以及切换类(“活动”)。它目前可以自己工作(切换活动),但当我点击另一个链接时,它不会删除活动。我知道我错过了一些相当简单的东西,我想知道它是什么。有什么建议吗 $('.content').hide(); $('.expander')。单击(函数(x){ $(this.toggleClass('active'); var toggle=$(this.nextUntil('.expander'); toggle.slideToggle(); $('.content

我试图做一个非常直接的滑动切换,以及切换类(“活动”)。它目前可以自己工作(切换活动),但当我点击另一个链接时,它不会删除活动。我知道我错过了一些相当简单的东西,我想知道它是什么。有什么建议吗

$('.content').hide();
$('.expander')。单击(函数(x){
$(this.toggleClass('active');
var toggle=$(this.nextUntil('.expander');
toggle.slideToggle();
$('.content').not(toggle.slideUp();
x、 预防默认值();
});
.expander{背景:红色;宽度:100%;填充:10px;显示:块;页边距底部:10px;文本装饰:无;}
.expander.active{背景:黑色;}
.content{显示:无;}

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
  • 七,
  • 八,
  • 九,
  • 十,
  • 十一,
  • 十二,
  • 十三,
  • 十四,
  • 十五

在切换之前,只需使用class
expander从所有元素中删除class
active
。此外,若要启用活动元素,请检查该元素是否有与之关联的类
活动

    $('.content').hide();
    $('.expander').click(function(x) {
    var toggleClass = $(this).hasClass('active') ? true : false;
    $('.expander').removeClass('active');    
    if(!toggleClass)
      $(this).toggleClass('active');         
    var toggle = $(this).nextUntil('.expander');
    toggle.slideToggle();
    $('.content').not(toggle).slideUp();
    x.preventDefault();
    });
示例:

这是一条单行线

$('.expander').click(function(x) {
    $(this).addClass('active').next('.content').slideDown().prev('.expander').siblings('.expander').removeClass('active').next('.content').slideUp();
});
演示:

/$('.content').hide();
$('.expander')。单击(函数(x){
$(this).addClass('active')。next('.content')。slideDown().prev('.expander')。同胞('.expander')。removeClass('active')。next('.content')。slideUp();
});
.expander{
背景:红色;
宽度:100%;
填充:10px;
显示:块;
边缘底部:10px;
文字装饰:无;
}
.主动{
背景:黑色;
}
.内容{
显示:无;
}

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
  • 七,
  • 八,
  • 九,
  • 十,
  • 十一,
  • 十二,
  • 十三,
  • 十四,
  • 十五

非常好用……谢谢。我知道我只是错过了一件简单的事情:)投票胜于感谢。如果这个答案解决了你的问题,请把它标记为正确。