2

我正在尝试使以下代码正常工作。

当用户滚动到点 x 时,菜单包装的高度会降低。他们可以通过单击 .extender 来恢复高度。单击此链接后,链接消失(因此没有切换功能)。

我看到切换往往是类似用例中的解决方案,理想情况下,我想知道如何解决这个问题,以及为什么我的代码不起作用。

$(document).scroll(function(){
    var height = $('div#zone-menu-wrapper').height();
    if (some_logic){
        $('div#zone-branding-wrapper').animate({height: 10}, 1500);
    }
});

$('.extender').click(function(){
    $('div#zone-branding-wrapper').animate({height: 380}, 1500);
    return false;
});
4

1 回答 1

1

如果动画已经在进行中,则返回。

 var inProgress = false;
$(document).scroll(function(){
    if(inProgress )return;
    var height = $('div#zone-menu-wrapper').height();
    if (some_logic){
      inProgress = true;
        $('div#zone-branding-wrapper').animate({height: 10}, 1500, function(){
                  inProgress = false;
        });
    }
});

$('.extender').click(function(){
    $('div#zone-branding-wrapper').animate({height: 380}, 1500);
    return false;
});
于 2013-03-20T17:27:15.367 回答