1

我正在尝试在之前的功能结束后启动一个功能。.SideArea div 将在 .sideShowing 动画之后显示:none,#page 已结束,但 display:none 部分被忽略。

这是我的代码。

$(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 被忽略。我希望该功能在前一个动画功能结束但它不起作用时启动。

我究竟做错了什么?

4

1 回答 1

1

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

$(".sideShowing #page").stop().animate({left:"0"}, {
    queue: false,
    duration: 150,
    complete: function() {
        $SideArea.css('display','none');
    }
});
于 2012-12-16T06:21:37.917 回答