显示更多/更少Div,回调功能

时间:2013-02-25 05:37:46

标签: jquery callback hide show show-hide

很高兴认识你们。我是新手,但有点过于雄心勃勃。

我在跳过一些角落后做了一个秀/隐藏Div,虽然它有效,但它仍然很草率。有意延迟是因为我无法回调工作。如果内容框中有不可能的文本数量,这可能是一个问题...更不用说,学习未来的项目也不会有什么坏处。

所以我分享这个,要求批评,因为它非常老套,并且询问如何让回调首先起作用。 (当然,如果需要,可以非常自由地使用代码。)

Here是小提琴。

$("#open").click(function () {
    $(this).hide("fast");
    $("#content").delay(50).show("fold");
    $("#close-bottom,#close-top").delay(800).fadeIn(0);
});

$("#close-bottom,#close-top").click(function () {
    $("#close-bottom,#close-top").hide("fast");
    $("#content").hide("fold");
    $("#open").delay(300).fadeIn(0);
});

1 个答案:

答案 0 :(得分:0)

您可以在"fold"之后将回调添加为第二个参数:

$("#open").click(function () {
    $(this).hide("fast");
    $("#content").show("fold", function() {
        $("#close-bottom,#close-top").fadeIn(0);
    });
});

$("#close-bottom,#close-top").click(function () {
    $("#close-bottom,#close-top").hide("fast");
    $("#content").hide("fold", function() {
        $("#open").fadeIn(0);
    });
});

jsfiddle demo

根据.show.hide文档,jQuery 1.4.3中添加了使用.show( [duration ] [, easing ] [, complete ] )的方法调用,并支持仅使用easing和{{1}进行调用}(这将保持默认的complete callback function持续时间)