• 【HTML+CSS+JavaScript+Bootstrap+Vue】选项卡(两种方式)


    需求:Vue实现选项卡效果

    方式一:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>选项卡 tabs</title>
        <link rel="stylesheet" href="../dist/css/bootstrap.css">
        <style>
            #app {
                margin:100px auto 0px;
                800px;
            }
            .panel {
                border-top:none;
            }
        </style>
    </head>
    <body>
    
        <div id="app">
            <div class="row">
                <div class="col-md-12">
                    <ul class="nav nav-tabs">
                        <li :class="{active: isTab(0)}" @click="setTab(0)"><a href="javascript:void(0)">未付款订单</a></li>
                        <li :class="{active: isTab(1)}" @click="setTab(1)"><a href="javascript:void(0)">未发货订单</a></li>
                        <li :class="{active: isTab(2)}" @click="setTab(2)"><a href="javascript:void(0)">未收货订单</a></li>
                        <li :class="{active: isTab(3)}" @click="setTab(3)"><a href="javascript:void(0)">未评价订单</a></li>
                        <li :class="{active: isTab(4)}" @click="setTab(4)"><a href="javascript:void(0)">所有订单</a></li>
                    </ul>
    
                    <div class="panel panel-default" v-show="isTab(0)">
                        <div class="panel-body">
                            这是未付款的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="isTab(1)">
                        <div class="panel-body">
                            这是未发货的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="isTab(2)"> 
                        <div class="panel-body">
                            这是未收货的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="isTab(3)">
                        <div class="panel-body">
                            这是未评价的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="isTab(4)">
                        <div class="panel-body">
                            这是所有的订单
                        </div>
                    </div>
                </div>
            </div>
    
        </div>
        
    
        <script src="../dist/js/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app',
                data: {
                    tab: 0
                },
                methods: {
                    setTab(index) {
                        this.tab = index;
                    },
                    isTab(index) {
                        return this.tab === index;
                    }
                }
            })
        </script>
    </body>
    </html>

    方式二:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>选项卡 tabs</title>
        <link rel="stylesheet" href="../dist/css/bootstrap.css">
        <style>
            #app {
                margin:100px auto 0px;
                800px;
            }
            .panel {
                border-top:none;
            }
        </style>
    </head>
    <body>
    
        <div id="app">
            <div class="row">
                <div class="col-md-12">
                    <ul class="nav nav-tabs">
                        <li :class="{active: tab == 0}" @click="tab = 0"><a href="#">未付款订单</a></li>
                        <li :class="{active: tab == 1}" @click="tab = 1"><a href="#">未发货订单</a></li>
                        <li :class="{active: tab == 2}" @click="tab = 2"><a href="#">未收货订单</a></li>
                        <li :class="{active: tab == 3}" @click="tab = 3"><a href="#">未评价订单</a></li>
                        <li :class="{active: tab == 4}" @click="tab = 4"><a href="#">所有订单</a></li>
                    </ul>
    
                    <div class="panel panel-default" v-show="tab === 0">
                        <div class="panel-body">
                            这是未付款的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="tab === 1">
                        <div class="panel-body">
                            这是未发货的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="tab === 2"> 
                        <div class="panel-body">
                            这是未收货的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="tab === 3">
                        <div class="panel-body">
                            这是未评价的订单
                        </div>
                    </div>
    
                    <div class="panel panel-default" v-show="tab === 4">
                        <div class="panel-body">
                            这是所有的订单
                        </div>
                    </div>
                </div>
            </div>
    
        </div>
        
    
        <script src="../dist/js/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app',
                data: {
                    tab: 0
                }
            })
        </script>
    </body>
    </html>
  • 相关阅读:
    最全前端面试题
    经常犯的思维误区
    鸿蒙系统发布会
    前端面试题
    怎么做一个竖排文字?
    canvas-台球玩法
    canvas-自由落体球
    canvas-画一颗心
    canvas-学写字
    常用的65条正则表达式
  • 原文地址:https://www.cnblogs.com/neymargoal/p/9518264.html
Copyright © 2020-2023  润新知