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使用vant中的checkbox实现全选功能
Nov 17 Vue.js
Vue实现图书管理小案例
Dec 03 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
vue中watch的用法汇总
Dec 28 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
解读Vue组件注册方式
May 15 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 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安装为Apache DSO
2006/10/09 PHP
php下的权限算法的实现
2007/04/28 PHP
实用函数10
2007/11/08 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
Python如何读取MySQL数据库表数据
2017/03/11 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
迎接领导欢迎词
2014/01/11 职场文书
学生爱国演讲稿
2014/01/14 职场文书
银行简历自我评价
2014/02/11 职场文书
学用政策心得体会
2014/09/10 职场文书
2015年中个人总结范文
2015/03/10 职场文书
放假通知范文
2015/04/14 职场文书
法人代表资格证明书
2015/06/18 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python