vue 选项卡

本文介绍了一个使用Vue.js实现的简单选项卡切换效果的示例。通过按钮点击切换不同的内容面板,展示了Vue的数据绑定和事件处理特性。

选项卡切换的小demo

在这里插入图片描述

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <button 
                v-for="(i,index) in list_btn" :key='index'
                @click="handleActive(index)" 
            >
                {{ i }}
            </button>

            <ul style="border:1px solid #ccc;">
                <li v-show="num == index" v-for="(item,index) in list" :key="index">
                    <h2>{{item.title}}</h2>
                    <span>{{item.content}}</span> 
                </li>
            </ul>
        
        </div>
        <script>
            var app = new Vue({
                el: '#app',
                data: {
                    num: 0,
                    list_btn: ['选项一','选项二','选项三'],
                    list: [
                        {
                            title: '选项一',
                            content: "选项一内容"
                        },{
                            title: '选项二',
                            content: "选项二内容"
                        },
                        {
                            title: '选项三',
                            content: "选项三内容"
                        },
                    ]
                },
                methods: {
                    handleActive(index){
                        this.num = index;
                       
                    }
                }
            })
        </script>
    </body>
    </html>
Vue选项卡切换图片可以通过定义一个currentIndex,通过和循环遍历中的index比较,从而去给对应的元素添加相应类名。这样就可以给对应的选项卡添加背景色,以及显示对应的图片。具体实现可以参考以下步骤: 1.Vue组件中定义一个currentIndex变量,用于记录当前选中的选项卡的索引。 2.选项卡HTML代码中,使用v-for指令循环渲染选项卡的标题,并绑定点击事件,点击时将currentIndex设置为当前选项卡的索引。 3.选项卡内容的HTML代码中,使用v-show指令根据currentIndex的值来显示对应的选项卡内容。 4.选项卡标题的HTML代码中,使用v-bind:class指令根据currentIndex的值来动态绑定选项卡样式,以显示当前选中的选项卡。 具体代码实现可以参考以下示例: ``` <template> <div class="tab"> <div class="nav"> <a href="javascript:;" :class="{ 'hover': currentIndex === 0 }" @click="currentIndex = 0">图片一</a> <a href="javascript:;" :class="{ 'hover': currentIndex === 1 }" @click="currentIndex = 1">图片二</a> <a href="javascript:;" :class="{ 'hover': currentIndex === 2 }" @click="currentIndex = 2">图片三</a> </div> <div class="nav_con"> <div v-show="currentIndex === 0"><img src="./图片/2.jpg" alt=""></div> <div v-show="currentIndex === 1"><img src="./图片/3.jpg" alt=""></div> <div v-show="currentIndex === 2"><img src="./图片/4.jpg" alt=""></div> </div> </div> </template> <script> export default { data() { return { currentIndex: 0 } } } </script> <style> .tab .nav a { display: inline-block; padding: 10px; margin-right: 10px; background-color: #eee; border-radius: 5px 5px 0 0; } .tab .nav a.hover { background-color: #fff; } .tab .nav_con div { display: none; } .tab .nav_con div img { width: 100%; } .tab .nav_con div:first-child { display: block; } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值