zoukankan      html  css  js  c++  java
  • vue2.0实现底部导航切换效果

     使用vue2.0写移动端的时候,经常会写底部导航效果,点击切换路由效果,实现图片和文字颜色切换。vue2.0也提供了很多ul框架供我们实现效果,今天就用原生的实现一个底部导航切换,直接上代码:

    效果图

    路由搭建

    export default new Router({
      routes: [
        {
          path: "/Home",
          component: Home,
        },
        {
          path: "/recommend",
          component: Recommend
        },
        {
          path: "/search",
          component: Search
        },
        {
          path: "/chat",
          component: Chat
        },
        {
          path: "/me",
          component: Me
        },
      {
         path: '/',
    redirect: '/home'
    }, ] });

     页面模板搭建,src和on都要动态的绑定,使用三目运算判断每次点击切换

    <div class="bottom-tab">
        <div class="tab-item" @click="switchTo('/home')">
    			<img :src="'/home' === $route.path ? tabBarImgArr[0].selected : tabBarImgArr[0].normal" alt="首页">
    			<span :class="{on: '/home' === $route.path}">首页</span>
    		</div>
        <div class="tab-item" @click="switchTo('/recommend')">
    			<img :src="'/recommend' === $route.path ? tabBarImgArr[1].selected : tabBarImgArr[1].normal" alt="推荐">
    			<span :class="{on: '/recommend' === $route.path}">推荐</span>
    		</div>
        <div class="tab-item" @click="switchTo('/search')">
    			<img :src="'/search' === $route.path ? tabBarImgArr[2].selected : tabBarImgArr[2].normal" alt="搜索">
    			<span :class="{on: '/search' === $route.path}">搜索</span>
    		</div>
        <div class="tab-item" @click="switchTo('/chat')">
    			<img :src="'/chat' === $route.path ? tabBarImgArr[3].selected : tabBarImgArr[3].normal" alt="聊天">
    			<span :class="{on: '/chat' === $route.path}">聊天</span>
    		</div>
        <div class="tab-item" @click="switchTo('/me')">
    			<img :src="'/me' === $route.path ? tabBarImgArr[4].selected : tabBarImgArr[4].normal" alt="我的">
    			<span :class="{on: '/me' === $route.path}">我的</span>
    		</div>
      </div>
    

      在data里面定义tabBarImgArr:数组,用于存放图片。

    tabBarImgArr:[   //图片切换
            {normal: require('./../../../static/img/icon_home.png'), selected: require('./../../../static/img/icon_home_selected.png')},
            {normal: require('./../../../static/img/icon_intro.png'), selected: require('./../../../static/img/icon_intro_selected.png')},
            {normal: require('./../../../static/img/icon_search.png'), selected: require('./../../../static/img/icon_search_selected.png')},
            {normal: require('./../../../static/img/icon_chat.png'), selected: require('./../../../static/img/icon_chat_selected.png')},
            {normal: require('./../../../static/img/icon_mine.png'), selected: require('./../../../static/img/icon_mine_selected.png')}
          ]
    

     在methods实现switchTo切换

    methods:{
        switchTo(path){
          // console.log(this.$router)
          this.$router.replace(path)
        }
      }

    css样式效果

    .bottom-tab
        width 100%
        height 50px
        background-color #fff
        position fixed
        left 0px
        bottom 0px
        display flex
        z-index 999
        .tab-item
          display flex
          flex 1
          flex-direction column
          align-items center
          justify-content center
          font-size 14px
          color #666
          img
             width 35%
             margin-bottom 2px
          .on
            color red
  • 相关阅读:
    gitblit.cmd运行自动关闭
    用SourceTree轻松Git项目图解
    GUI for git|SourceTree|入门基础
    SourceTree的简单使用
    Windows平台使用Gitblit搭建Git服务器图文教程
    使用Gitblit 搭建Windows Git服务器
    Git使用详细教程
    Kafka 设计与原理详解
    Kafka 客户端实现逻辑分析
    js判断只能输入数字或小数点
  • 原文地址:https://www.cnblogs.com/zhoulifeng/p/9618573.html
Copyright © 2011-2022 走看看