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的mixin策略
Nov 19 Vue.js
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
Vue——前端生成二维码的示例
Dec 19 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
梳理一下vue中的生命周期
Dec 30 Vue.js
vue自定义组件实现双向绑定
Jan 13 Vue.js
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
Vue多选列表组件深入详解
Mar 02 Vue.js
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
Vue实现下拉加载更多
May 09 Vue.js
vue使用refs获取嵌套组件中的值过程
Mar 31 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 _autoload自动加载类与机制分析
2012/02/10 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
php实现paypal 授权登录
2015/05/28 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
chrome原生方法之数组
2011/11/30 Javascript
xml转json的js代码
2012/08/28 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Python读写Redis数据库操作示例
2014/03/18 Python
Python常用列表数据结构小结
2014/08/06 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
物业管理毕业生的自我评价
2014/02/17 职场文书
村干部培训班主持词
2014/03/28 职场文书
学生干部培训方案
2014/06/12 职场文书
主持人大赛开场白
2015/05/29 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫