jquery - 动画切换滑动菜单

标签 jquery html css

我正在创建一个与 facebook 移动菜单行为相似的菜单。你可以在这里找到我的进度 - http://jsfiddle.net/923GK/

我希望它在默认状态下折叠,然后当有人点击说“仪表板”时,它会滑出显示仪表板的子列表。如果他们再次单击仪表板,它将切换回默认的关闭状态。但是,如果二级菜单打开并且他们单击“博客”菜单,则不会再次关闭,它只会显示博客子菜单,没有花哨的过渡。

我已经尝试了很长时间,但每次尝试都以比以前更困惑的方式结束。如果任何更精通 jquery 的人可以看一看,我将不胜感激。

最佳答案

var last, elm = $('#menu');

$('.secondary').hide();
elm.css('width', 100);

$('#menu li a').on('click', function(e) {
    e.preventDefault();
    if (elm.width()>100) {
        if (last == this) {
            elm.animate({width: elm.width()<340?350:100});
        }else{
            $(this).next('.secondary').show();
            $(last).next('.secondary').hide();
        }
    }else{
        $(this).next('.secondary').show();
        elm.animate({width: elm.width()<340?350:100});      
    }
    last = this;
});

FIDDLE

关于jquery - 动画切换滑动菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718260/

相关文章:

html - 如何在相对位置或任何地方在左上/下左或右上/右下实现内联 block ?

javascript - 是否可以使用子元素作为中心来居中元素

html - 水平滚动表头的位置粘性

css - Reactjs webpack 配置问题

javascript - 如何从异步调用返回响应?

javascript - 如何使用 waypoint.js 无限滚动?

php - 是否可以关闭 </ul> 并在循环中添加新的 <ul> ?

javascript - 灵活响应

html - Excel VBA 更改 HTML 选择标记中的选项

javascript - 带有隐藏 overflow-x 的父级的 div 上的编程滚动