8
$(document).ready(function () {
    $("#newrecord tr:odd").addClass("odd");
    $("#newrecord tr:not(.odd)").find("li").hide();
    $("#newrecord tr:not(.odd)").hide();
    $("#newrecord tr:first-child").show();

    $("#newrecord tr.odd").click(function () {
        $("#newrecord tr:not(.odd)").show();
        $(this).next("tr").find("li").slideToggle("slow","swing");
    });
});

下面首先隐藏所有偶数行,当我们单击奇数行时,它会显示偶数行,并向下滑动每行的 li 内容。当我再次单击时,我需要帮助,li 标签会根据需要向上滑动,但它也应该隐藏该行。也就是说应该在向上滑动后在行上调用隐藏函数。

4

3 回答 3

13
$(document).ready(function () {
    $("#newrecord tr:odd").addClass("odd");
    $("#newrecord tr:not(.odd)").find("li").hide();
    $("#newrecord tr:not(.odd)").hide();
    $("#newrecord tr:first-child").show();

    $("#newrecord tr.odd").click(function () {
        $("#newrecord tr:not(.odd)").show();
        $(this).next("tr").find("li").slideToggle("slow","swing", function(){
            //What to do on toggle compelte...
        });
    });
});
于 2013-07-31T16:25:45.930 回答
1

Lwyrn 是正确的,在 slideToggle 调用中添加第三个参数就可以了。要获得更多控制权,您可以传递一个带有您想要的所有选项作为参数的普通对象(例如.slideToggle(options))。你可以阅读更多关于这些选项可以做什么: http: //api.jquery.com/slideToggle/#slideToggle-options

当我不希望动画排队时,我发现传递对象很有用(如果用户非常快地点击 50 次,动画将堆叠并保持切换一段时间 - 不受欢迎的行为)。

于 2013-07-31T16:39:45.510 回答
0

请看下面的代码

$(this).next("tr").find("li").slideToggle("slow","swing", function(){
    // here you code after toggle complete
});
于 2013-07-31T16:34:00.873 回答