美文网首页VUE
Vue 实现简易tab切换效果

Vue 实现简易tab切换效果

作者: newly_build | 来源:发表于2019-03-25 22:16 被阅读77次
实现思路:

1.点击上方的标题,下方的内容随之发生改变;
2.上方和下方用的是两个块,是兄弟节点,所以需要点击tab标题和下方内容一一对应;
3.基于两个模块若下标相同是一个内容实现的。

  • HTML结构
    <div id="app">
        <ul class="tab-tilte">
            <li>标题一</li>
            <li>标题二</li>
            <li>标题三</li>
            <li>标题四</li>
        </ul>
        <div class="tab-content">
            <div>内容一</div>
            <div>内容二</div>
            <div>内容三</div>
            <div>内容四</div>
        </div>
    </div>
  • CSS样式
    <style type="text/css">
        ul li {

            margin: 0;
            padding: 0;
            list-style: none;
        }
        #app {
            width: 600px;
            height: 400px;
            margin: 0 auto;
            border: 1px solid #ccc;
        }
        .tab-tilte{
            width: 90%;
        }
        .tab-tilte li{
            float: left;
            width: 25%;
            padding: 10px 0;
            text-align: center;
            background-color:#f4f4f4;
            cursor: pointer;
        }
     /* 点击对应的标题添加对应的背景颜色 */
        .tab-tilte .active{
            background-color: #09f;
            color: #fff;
        }
        .tab-content div{
            float: left;
            width: 25%;
            line-height: 100px;
            text-align: center;
        }
    </style>
  • 引入Vue实现
<body>
    <div id="app">
        <ul class="tab-tilte">
            <li @click="cur=0" :class="{active:cur==0}">标题一</li>
            <li @click="cur=1" :class="{active:cur==1}">标题二</li>
            <li @click="cur=2" :class="{active:cur==2}">标题三</li>
            <li @click="cur=3" :class="{active:cur==3}">标题四</li>
        </ul>
        <div class="tab-content">
            <div v-show="cur==0">内容一</div>
            <div v-show="cur==1">内容二</div>
            <div v-show="cur==2">内容三</div>
            <div v-show="cur==3">内容四</div>
        </div>
    </div>
    <script src="./js/vue.js" type="text/javascript"></script>
    <script type="text/javascript">
        var app = new Vue({

            el: "#app",
            data: {

                cur:0 //默认选中第一个tab

            }
        });    
    </script>
</body>
  • 实现效果:
  • 优化Vue实现

<div id="app">
    <!-- 推荐这种写法-->
    <ul class="tab-tit">
        <li v-for="(title,index) in tabTitle" @click="cur=index" :class="{active:cur==index}">{{title}}</li>
    </ul>
    <div class="tab-content">
        <div v-for="(m,index) in tabMain" v-show="cur==index">{{m}}</div>
    </div>
</div>
<script type="text/javascript">
    window.onload = function(){
        var app = new Vue({
         el:'#app',
         data:{
             tabTitle: ['标题一', '标题二', '标题三', '标题四'],
             tabMain: ['内容一', '内容二', '内容三', '内容四'],
             cur: 0 //默认选中第一个tab
         }
     })
    }
</script>
  • 实现效果:

相关文章

  • Vue 实现简易tab切换效果

    实现思路: 1.点击上方的标题,下方的内容随之发生改变;2.上方和下方用的是两个块,是兄弟节点,所以需要点击tab...

  • 09Vue.js实现tab切换效果

    利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播、导航子菜单的隐藏、t...

  • 12.Vue嵌套路由(三层)

    Vue嵌套路由:实现效果(路由三层嵌套,点击一级tab显示二级tab效果,二级tab点击切换对应内容,不在tab区...

  • Vue 简单实现tab切换效果

    需求是这样的,需要做一个点击小标题,切换出相对应的卡片内容,由于功能很简单不想用插件,所以就手敲了一个,希望能帮助...

  • 原生JS实现Tab切换效果和模态框效果

    原生JS实现Tab切换效果 效果展示 原生JS实现模态框效果 效果展示

  • jQuery之切换

    初级Tab切换 预览 进阶Tab切换 预览 Tab切换效果(上下切换) 预览 Tab切换效果(水平切换) 和上下切...

  • zj10 事件应用,小练习

    用原生 JS 实现一个 Tab 切换效果和一个模态框效果 tab切换添加事件,阻止冒泡

  • Vue.js实现tab切换效果

    Vue是一个小巧轻便的JavaScript库。它有一个简单易懂的API,能够让开发者在开发web应用的时候更加简易...

  • 动态组件绑定实现Tabs切换

    使用动态组件绑定实现Tabs切换 在Vue里面实现Tab切换主要有三种方式: 使用vue-router适用于大型应...

  • Axure-实现顶部tab式导航栏

    实现的效果:点击tab,切换对应的内容页面,指示标识移动到对应选中tab。 思路: ①通过动态面板实现内容页面切换...

网友评论

    本文标题:Vue 实现简易tab切换效果

    本文链接:https://www.haomeiwen.com/subject/kmyivqtx.html