vue选项卡切换的实现案例


Posted in Vue.js onApril 11, 2022

直接上代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    * {
        padding: 0;
        margin: 0;
    }
    
    ul {
        list-style: none;
    }
    
    #app {
        width: 480px;
        margin: 20px auto;
        border: 1px solid cornflowerblue;
    }
    
    ul {
        width: 100%;
        overflow: hidden;
    }
    
    ul li {
        float: left;
        width: 160px;
        height: 60px;
        line-height: 60px;
        text-align: center;
        background-color: #cccccc;
    }
    
    ul li a {
        text-decoration: none;
        color: black;
    }
    
    p {
        height: 200px;
        text-align: center;
        line-height: 200px;
        background-color: #fff;
    }
    
    li.active {
        background-color: cornflowerblue;
    }
    /* 有这个类名的p标签,显示 */
    
    p.active {
        display: block;
    }
    
    img {
        width: 100%;
    }
</style>
 
<body>
    <div id="app">
        <ul>
            <!-- :class中可以写三元(index==cur?'active':''),也可以写方法  :class相当于v-bind:class  -->
            <!--使用for遍历li 要加上:key ,再添加一个点击事件-->
            <li :class="isActive(index)" v-for="(item,index) in list" :key="item.id" @click="toggle(index)">
                <!-- 通过插值把名字显示到页面 -->
                <a href="javascript:;" rel="external nofollow" >{{item.name}}</a>
            </li>
        </ul>
        <!-- v-show显示,index和cur一样才显示 -->
        <!--使用for遍历li 要加上:key ,再添加一个点击事件-->
        <p v-show="index==cur" v-for="(item,index) in list" :key="item.id">
            <!-- 只有用v-bind进行数据绑定 才能在src中使用item.img -->
            <img :src="item.img" alt="">
        </p>
    </div>
    <!-- 
    1.将所有的图片都隐藏
    2.默认第一个按钮有激活的样式
    3.点击哪一个按钮,给哪一个按钮添加激活样式
   -->
    <script src="../vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            /* 数据 */
            data: {
                /* 定义一个显示元素的索引 */
                cur: 0,
                list: [{
                    id: 1,
                    name: "鞠婧祎",
                    img: "./img/1.jpg"
                }, {
                    id: 2,
                    name: "李沁",
                    img: "./img/2.jpg"
                }, {
                    id: 3,
                    name: "易烊千玺",
                    img: "./img/3.jpg"
                }]
            },
            methods: {
                /* 判断是否要激活 */
                isActive(index) {
                    return index == this.cur ? "active" : ""
                },
                //  点击li标签改变cur的值,实现切换效果
                // index是接受上面 @click中方法传递过来的index。
                toggle(index) {
                    this.cur = index
                }
            }
        })
    </script>
 
</body>
</html>

vue选项卡切换的实现案例

Vue.js 相关文章推荐
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue修饰符.capture和.self的区别
Apr 22 Vue.js
分享一个vue实现的记事本功能案例
vue代码分块和懒加载非必要资源文件
Apr 11 #Vue.js
vue打包时去掉所有的console.log
三种方式清除vue路由跳转router-link的历史记录
Apr 10 #Vue.js
vue route新窗口跳转页面并且携带与接收参数
Apr 10 #Vue.js
vue实力踩坑之push当前页无效
Apr 10 #Vue.js
vue实现Toast组件轻提示
Apr 10 #Vue.js
You might like
收集的php编写大型网站问题集
2007/03/06 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
详解python中sort排序使用
2019/03/23 Python
Python 实现try重新执行
2019/12/21 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
公务员年总结的自我评价
2013/10/25 职场文书
人事专员的岗位职责
2014/03/01 职场文书
2014年电工工作总结
2014/11/20 职场文书
2014年班务工作总结
2014/12/02 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python