Javascript - 在上一个函数结束后启动函数

时间:2012-12-16 03:32:13

标签: javascript jquery function

我试图在之前的功能结束后启动一个功能。 .SideArea div,将显示:无。在动画的.sideShowing之后,#page已结束,而是显示:无部分被忽略。

继承我的代码。

$(function(){
    $("#SideMenuButton").click(function() {
        var SideArea = $(".SideArea");
        if (SideArea.css('display')!=='block') {
            SideArea.css('display','block');
            var move = 260;
            $(".sideShowing #page").stop().animate({left:"+="+move},{queue:false,duration:150});
            $("body, #viewport").css('min-height','600px').css('max-height','600px');
        } else {
            $(".sideShowing #page").stop().animate({left:"0"},{queue:false,duration:150}, function() {
                $(".SideArea").css('display','none')});

            $("body, #viewport").css('min-height','800px').css('max-height','');
        }
    });
});

$(".sideShowing #page").stop().animate({left:"0"},{queue:false,duration:150}, function() {
                $(".SideArea").css('display','none')});

部分,其中display:none被忽略。我希望函数在前一个animate-function结束时启动,但它不起作用。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用animate()这种形式,complete回调被指定为第二个参数(选项图)的属性,而不是第三个参数。

$(".sideShowing #page").stop().animate({left:"0"}, {
    queue: false,
    duration: 150,
    complete: function() {
        $SideArea.css('display','none');
    }
});