我正在尝试让以下代码正常工作。
当用户滚动到点 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;
});
最佳答案
如果动画已经在进行中,则返回。
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;
});
关于Jquery,不知道为什么动画高度不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15530451/