Vue实现简单选项卡效果
更新时间:2022年03月02日 12:42:15 作者:没馅儿小笼包
这篇文章主要为大家详细介绍了Vue实现简单选项卡效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Vue实现简单选项卡效果的具体代码,供大家参考,具体内容如下
效果图
1.头部选项卡
点击切换下标ID 传递一个参数回去,active绑定选中样式
<div id="app"> <ul> <li v-for='(item,index) in list' @click='check(index)' :class="{ active: index === TabId }"> <h1> {{item.title}}</h1> </li> </ul> </div>
2.完整HTML
默认使用V-show来切换,获取盒子下标,没有dom操作
当然,Vue官方文档也不推荐V-if和V-for同时使用
<div id="app"> <ul> <li v-for='(item,index) in list' @click='check(index)' :class="{ active: index === TabId }"> <h1> {{item.title}}</h1> </li> </ul> <div class="mycontent" v-for='(item,index) in list' v-show="index === TabId"> <h1>{{item.content}}</h1> </div> </div>
3.Vue
下标默认为0
<script> //清除默认提示样式 Vue.config.devtools = false Vue.config.productionTip = false let vm = new Vue({ el: '#app', data() { return { //下标ID 默认从零开始 TabId: 0, list: [ { title: 'Itachi', content: 'VUE' }, { title: 'Sasuke', content: 'HTML' }, { title: 'Obito', content: 'CSS' }, { title: 'Madara', content: 'JavaScript' }, ] } }, methods: { //将点击事件获取的下标ID传递给要切换的盒子 check(index) { this.TabId = index; }, } }); </script>
4.完整代码
<!DOCTYPE html> <html lang='en'> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script> </head> <style> * { margin: 0; padding: 0; list-style: none; } #app ul { width: 800px; background: black; opacity: .9; margin: 100px auto; display: flex; justify-content: space-between; } #app li { width: 300px; text-align: center; cursor: pointer; color: #fff; } #app li:hover { cursor: pointer; } #app li.active { background: #03a9f4; } .mycontent { width: 800px; height: 500px; margin: 0 auto; background: #03a9f4; opacity: .8; display: flex; justify-content: center; align-items: center; } </style> <body> <div id="app"> <ul> <li v-for='(item,index) in list' @click='check(index)' :class="{ active: index === TabId }"> <h1> {{item.title}}</h1> </li> </ul> <div class="mycontent" v-for='(item,index) in list' v-show="index === TabId"> <h1>{{item.content}}</h1> </div> </div> <script> //清除默认提示样式 Vue.config.devtools = false Vue.config.productionTip = false let vm = new Vue({ el: '#app', data() { return { //下标ID 默认从零开始 TabId: 0, list: [ { title: 'Itachi', content: 'VUE' }, { title: 'Sasuke', content: 'HTML' }, { title: 'Obito', content: 'CSS' }, { title: 'Madara', content: 'JavaScript' }, ] } }, methods: { //将点击事件获取的下标ID传递给要切换的盒子 check(index) { this.TabId = index; }, } }); </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue3 element-plus 实现表格数据更改功能详细步骤
这篇文章主要介绍了vue3 element-plus实现表格数据更改功能,本文分步骤结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-07-07vue+element-ui 校验开始时间与结束时间的实现代码
这篇文章主要介绍了vue+element-ui 校验开始时间与结束时间的代码实现,最主要的需求是开始时间不能早于当前时间,感兴趣的朋友跟随小编一起看看吧2024-07-07
最新评论