繁体   English   中英

滑入菜单-关闭画布

[英]Slide in menu - off canvas

我有一个使用CSS从视图中隐藏的菜单(针对移动设备):

#filter-column {
    position:absolute;
    left:-400px;
}

当用户单击链接时,除了要从左侧滑动的菜单外,我要隐藏其他所有内容。 我希望相反的情况在关闭图层时发生。

我有以下jQuery:

    // Show/hide filters on mobile //
    $("#openMobileFilters").click(function(){   
        $("#filter-column").animate({left:'0'},600).css('position', 'relative');
        $('#results-container, #footer').addClass('hidden-xs');
    }); 
    $(".closeFilters").click(function(){
        $("#filter-column").animate({left:'-400px'},600).css('position', 'absolute');
        $('#results-container, #footer').removeClass('hidden-xs');
    });

问题是当我单击以隐藏内容实际显示之前显示的菜单时。 有更好的方法吗?

在不费吹灰之力的情况下,我只能建议您将隐藏类的删除移到动画的完整功能上

$(".closeFilters").click(function(){
    $("#filter-column").animate({left:'-400px'}, 600, function() {
        $('#results-container, #footer').removeClass('hidden-xs');
    }).css('position', 'absolute');
});

当前,您在动画进行过程中显示内容,这就是为什么您立即看到内容的原因。

您必须将要在动画之后执行的代码放在complete回调..中,例如:

$("#filter-column").animate({
    left:'-400px',
    complete: function() {$('#results-container, #footer').removeClass('hidden-xs');}
}, 600)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM