一次展开/折叠一个

时间:2017-12-12 23:35:22

标签: javascript jquery

如何一次扩展一个元素而其他元素被关闭? 当点击一次打开一个......

谢谢!

jQuery(document).ready(function($) {
$(".se-q").click( function () {
  var container = $(this).parents(".se-c");
  var answer = container.find(".se-a");
  var trigger = container.find(".se-t");
  answer.slideToggle(200);
  if (trigger.hasClass("se-o")) {
    trigger.removeClass("se-o");
  }
  else {
    trigger.addClass("se-o");
  }
})
});

1 个答案:

答案 0 :(得分:1)

您可以使用.not()removeClass()toggleClass();

jQuery(document).ready(function($) {
  $(".se-q").click( function () {
    var container = $(this).parents(".se-c");
    var answer = container.find(".se-a");
    var trigger = container.find(".se-t");
    answer.slideToggle(200);
    $('.se-t').not(trigger).removeClass('se-o'); // remove the class from all .se-t element but not this one(container.find(".se-t"))
    trigger.toggleClass("se-o"); // toggle class for this(container.find(".se-t"))
  })
});
  

注意:你可以从我的代码中抓住这一点......但实际上你需要提供你的html代码..我从你的代码中得到了什么   问题/答案脚本..所以你可能需要切换答案为   井

对于回复,您可以使用answer.slideToggle(200);

之前的下一行
$('.se-a').not(answer).slideUp(200);