(移动端)简单的顶部导航栏

话不多说,依旧先上图

image
image.gif

代码量不大,有轻微动画效果,不支持左右滑动,切换流畅,具体代码如下:

  • HTML:
    <div class="nav-box">
        <div class="nav-tap">
            <a class="nav-tap-item" onclick="tabChange(0)">派单中</a>
            <a class="nav-tap-item nav-tap-item-on" onclick="tabChange(1)">服务中</a>
            <a class="nav-tap-item" onclick="tabChange(2)">已完成</a>
        </div>
        <div class="nav-body">
            <div id="tap1" class="nav-body-item" hidden>
                /* 第一个页面内容 */
            </div>
            <div id="tap2" class="nav-body-item">
                /* 第二个页面内容 */
            </div>
            <div id="tap3" class="nav-body-item" hidden>
                /* 第三个页面内容 */
            </div>
        </div>
    </div>
image.gif

默认显示中间那页,由hidden控制隐藏,三个导航栏都设置click事件,调用js文件里的函数,并传入固定的参数。

  • CSS:
.nav-box{
    width: 100%;
    height: 100%;
    position: relative;
}
.nav-tap{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: absolute;
    top: 0;
    font-size: 1rem;
    background-color: #fff;
    padding: 0 4%;
    box-sizing: border-box;
}
.nav-tap-item{
    width: 100%;
    display: block;
    color:#9a9a9a;
    font-size: 1rem;
    padding: .8rem 0;
    text-align: center;
    transition: .3s;
}
.nav-tap-item-on{
    font-size: 1.1rem;
    color: #4a90e2;
    position: relative;
}
.nav-tap-item-on:after{
    content: '';
    width: 80%;
    height: 4px;
    background-color: #4a90e2;
    position: absolute;
    bottom: 0;
    left:10%;
}
.nav-body{
    margin-top: 14%;
}
image.gif

动画效果由transition属性控制,我这里的字体单位是rem,详细内容请自行查询移动端的rem布局。

  • JavaScript:
/**
 * 控制点击顶部导航栏变换
 * @param tabNum
 */
function tabChange(tabNum){
    $(".nav-tap-item").eq(tabNum).addClass('nav-tap-item-on').siblings('.nav-tap-item').removeClass('nav-tap-item-on');
    $(".nav-body-item").eq(tabNum).show().siblings().hide();
}
image.gif

用的是jQuery库,eq选取同一类名的元素,为其添加类名,变为被选中的状态,siblings选取除当前选中的元素外的其他同名元素,并移除选中态的类名,下面用相同方法控制页面的显隐。

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

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,026评论 3 119
  • 人们常说 悲观的人 不配拥有幸福 而我恰恰埋藏在 悲观的土 掌心向上 任雷雨 拍打脊柱 寂静的夜里 从回...
    密斯森林阅读 391评论 0 3
  • 不清晰写法 修改过后 补充说明 void UIGraphicsBeginImageContextWithOptio...
    什么的黑夜阅读 509评论 0 1
  • 22,一个貌似和我很有缘的数字,谜之有缘… 今天参加了初中同学的婚礼,经历了一场冰雹,回家的路上,电动车摔了,人没...
    胡萝卜猫阅读 246评论 1 0