这个Jquery函数有什么问题,帮忙

时间:2010-03-10 11:14:47

标签: jquery function with-statement

$(function() {
    $("table.section thead").click(function() {
      if ($(this).next("table.section tbody").style.display == "block"){
         $(this).next("table.section tbody").slideUp("slow");
      }
      if ($(this).next("table.section tbody").style.display == "none"){
         $(this).next("table.section tbody").slideDown("slow");
      }
    });
});

我不知道如何实现这一目标,我们非常感谢任何帮助。

更新:

我试图使用以下功能。

$(function() {
    $("table.section thead").click(function() {
    $(this).next("table.section tbody").slideToggle("slow");

    });
});

它给了我一个问题,(当它崩溃并且你点击它时,它会扩展然后再次崩溃,所以它总是会崩溃)。这就是我试图将功能放在最顶层的原因。

1 个答案:

答案 0 :(得分:5)

在这种情况下使用可见选择器:

$(function() {
    $("table.section thead").click(function() {
      var body = $(this).next("table.section tbody");
      if (body.is(":visible"))
         body.slideUp("slow");
      else
         body.slideDown("slow");
    });
});

但可能更简单,只需使用.slideToggle()这样:

$(function() {
    $("table.section thead").click(function() {
      $(this).next("table.section tbody").slideToggle("slow");
    });
});