Material Design的主布局

写在前面:
这是一篇菜鸟的学习笔记。

好久没写学习笔记了。说好的学习呢,难不成又成为一次信誓旦旦的开始一曝十寒的结束?!还是多多少少记录点什么吧。

好了,继续我的My Material Design系列的DIY。今天写的是一个主布局效果——Sidebar的实现。先来看看效果吧:

MainLayout.gif

MainLayout链接展示

实现思路

1.首先是float控制的左右两个布局——sidebar和main布局,以及一个screen的布局。

<body>
  <div class="mmd-screen"></div>
  <div class="mmd-sidebar"></div>
  <div class="mmd-main"></div>
</body>

2.然后是通过监听屏幕大小的变化来判断是否切换为sidebar隐藏模式

//监听屏幕变化
$(window).resize(function(){
    if($(this).width() < 980){
        //do someting
    }
    else{
        //do someting
    }
});

3.最后是小屏幕情景下通过按钮和screen点击事件来开闭sidebar

//导航栏开启事件
$(".mmd-menu-btn").click(function(){
    //do soemthing
})

//导航栏关闭事件
$(".mmd-screen").click(function(){
    //do soemthing
})

注意的地方

1.对于sidebar的布局,添加了一个效果:活得鼠标焦点时才能开启滑动功能(通过overflow属性控制):

//监听导航栏是否获取焦点
$(document).on("mouseover mouseout",".mmd-sidebar",function(e){
    if(e.type == "mouseover"){
        $(this).css("overflow","auto");
    }else{
        $(this).css("overflow","hidden");
    }
})

2.打开/关闭sidebar的效果使用最简单的动画:

//打开导航栏
function openSidebar(){
    $(".mmd-sidebar").animate({left:'0px'},400);
}
//关闭导航栏
function closeSidebar(){
    $(".mmd-sidebar").animate({left:'-250px'},400);
}

3.为了使sidebar固定在屏幕中,不随main滑动,sidebar的position属性需要设置为fixed:

.mmd-sidebar{
    position: fixed;/*不随右边div滚动*/
}

附上源码:

MainLayout示例代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,292评论 25 708
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,886评论 22 665
  • 八月十六日,一个平凡得不起波澜的日子里,一名普通的私立高中历史老师,在偶然的目光逡巡中,找到了一个可以肆意写作的软...
    独孤九剑飞阅读 195评论 0 0
  • 探寻千古沧桑 走过多少帝王将相 当初巍峨的陵寝 如今又是怎样 是荒草淹没的沙丘 是腐朽破败的坟场 或仍是穿越千古的...
    莫自在阅读 144评论 0 0
  • 二月,请允许我去很远的地方走一走 让我从火车的窗口东张西望 看看旅途泡方便面的气味与书的阅读怎么重叠 这个城市的法...
    乔桥阅读 96评论 0 1