• vue导航点击切换 1.0


    效果展示:

    一、首先实现nav点击改变样式

    <div class="title">
            <div class="recommendation-title1" 
            :class="show1==1? 'redtitle':'commontitle'" 
            @click="turnRed1()">蔬菜</div>
            <div class="recommendation-title2"
            :class="show2==1? 'redtitle':'commontitle'" 
            @click="turnRed2()">水果</div>
            <div class="recommendation-title3" 
            :class="show3==1? 'redtitle':'commontitle'" 
            @click="turnRed3()">肉类</div>
            <div class="recommendation-title4" 
            :class="show4==1? 'redtitle':'commontitle'" 
            @click="turnRed4()">熟食</div>
            </div>
    </div>
     export default {
            data() {
                return {
                     show1:'1',
                     show2:'',
                     show3:'',
                     show4:'',
                            }
            methods: {
                turnRed1:function(){
                    this.show1=1;
                    this.show2=0;
                    this.show3=0;
                    this.show4=0;
                },
                 turnRed2:function(){
                    this.show2=1;
                    this.show1=0;
                    this.show3=0;
                    this.show4=0;
                },
                 turnRed3:function(){
                    this.show3=1;
                    this.show1=0;
                    this.show2=0;
                    this.show4=0;
                },
                 turnRed4:function(){
                    this.show4=1;
                    this.show1=0;
                    this.show2=0;
                    this.show3=0;
    
                        }
                            }

    解析 

    :class    当show为1时,class名为redtitle,否则为commontitle

    method   点击当前nav的show为1,其他nav的show为0.

    二、nav点击切换内容

    v-if判断是否点击,点击显示    // 循环内容省略

    <ul class="sc" v-if="show1==1" >
                    <li v-for="sc in scs" :key="sc.name">
                        <div class="body-a">
                            <a href="">
                                {{sc.name}}
                            </a>
                        </div>
                    </li>
                </ul>

    三、所有代码   

    //折叠了

    <template>
        <div class="nav">
            <div class="title">
            <div class="recommendation-title1" :class="show1==1? 'redtitle':'commontitle'" @click="turnRed1()">蔬菜</div>
            <div class="recommendation-title2" :class="show2==1? 'redtitle':'commontitle'" @click="turnRed2()">水果</div>
            <div class="recommendation-title3" :class="show3==1? 'redtitle':'commontitle'" @click="turnRed3()">肉类</div>
            <div class="recommendation-title4" :class="show4==1? 'redtitle':'commontitle'" @click="turnRed4()">熟食</div>
            </div>
            <div class="body">
                <ul class="sc" v-if="show1==1" >
                    <li v-for="sc in scs" :key="sc.name">
                        <div class="body-a">
                            <a href="">
                                {{sc.name}}
                            </a>
                        </div>
                    </li>
                </ul>
                <ul class="sg" v-if="show2==1" >
                    <li v-for="sg in sgs" :key="sg.name">
                        <div class="body-a">
                            <a href="">
                                {{sg.name}}
                            </a>
                        </div>
                    </li>
                </ul>
                <ul class="rl" v-if="show3==1" >
                    <li v-for="rl in rls" :key="rl.name">
                        <div class="body-a">
                            <a href="">
                                {{rl.name}}
                            </a>
                        </div>
                    </li>
                </ul>
                <ul class="ss" v-if="show4==1" >
                    <li v-for="ss in sss" :key="ss.name">
                        <div class="body-a">
                            <a href="">
                                {{ss.name}}
                            </a>
                        </div>
                    </li>
                </ul>
            </div>
        </div>
    </template>
    
    <script>
        export default {
            data() {
                return {
                     show1:'1',
                     show2:'',
                     show3:'',
                     show4:'',
                     scs:[
                    {name:"土豆"},
                    {name:"生菜"},
                    {name:"豌豆"},
                    {name:"花菜"},
                ],
                sgs:[
                    {name:"苹果"},
                    {name:"香蕉"},
                    {name:"西瓜"},
                    {name:"芒果"},
                    {name:"车厘子"},
                ],
                rls:[
                    {name:"排骨"},
                    {name:"猪蹄"},
                    {name:"牛舌"},
                ],
                sss:[
                    {name:"炒面"},
                    {name:"炒饭"},
                    {name:"煎饼"},
                    {name:"寿司"},
                ],
                }
            },
            methods: {
                turnRed1:function(){
                    // console.log(111);
                    this.show1=1;
                    this.show2=0;
                    this.show3=0;
                    this.show4=0;
                },
                 turnRed2:function(){
                    this.show2=1;
                    this.show1=0;
                    this.show3=0;
                    this.show4=0;
                    // console.log(222);
                },
                 turnRed3:function(){
                    // console.log(333);
                    this.show3=1;
                    this.show1=0;
                    this.show2=0;
                    this.show4=0;
                },
                 turnRed4:function(){
                    // console.log(444);
                    this.show4=1;
                    this.show1=0;
                    this.show2=0;
                    this.show3=0;
                }
            },
        }
    </script>
    
    <style lang="less" scoped>
    .body-a :hover{
        text-decoration: underline;
        color: red;
    }
    .body-a{
        display: flex;
        align-items: flex-start;
    }
    .body ul{
        display: flex;;
        flex-wrap: wrap;
    }
    .body li{
        overflow: hidden;
        display: block;
        border: 1px solid rgb(223, 223, 223);
        font-size: 14px;
        overflow: hidden;
        padding: 0 5px;
         154.5px;
        height: 50px;
        line-height: 50px;
    }
    .commontitle{
        color: black;
        cursor: pointer;
        font-size: 20px;
         125px;
        height: 37px;
        line-height: 40px;
    }
    .redtitle{
        color:#de2013;
        border-bottom: 3px solid#de2013;
    }
    .recommendation-title1:hover,.recommendation-title2:hover,.recommendation-title3:hover,.recommendation-title4:hover{
        color:#de2013;
        border-bottom: 3px solid#de2013;
    }
    .recommendation-title1,.recommendation-title2,.recommendation-title3,.recommendation-title4{
        cursor: pointer;
        font-size: 20px;
         125px;
        height: 37px;
        line-height: 40px;
    }
    .title{
        display: flex;
        // justify-content: space-evenly;
        background-color: rgb(223, 223, 223);
         500px;
        height: 40px;
    }
    .nav{
        border: 1px solid rgb(180, 179, 179);
         500px;
        height:200px;
    }
    a{
        color: black;
        text-decoration: none;
    }
    li{
        list-style-type: none;
    }
    ul{
        list-style: none;    /*清除列表默认样式*/
        padding: 0;      /*清除padding*/
        margin: 0;
    }
    </style>
    

      

  • 相关阅读:
    4 linux上运行crm&uwsgi
    Vue 目录
    vue -(滚动播放-全屏展示)
    Chrome 调试技巧
    Vue 遇到的坑
    9 matplotlib
    Maven
    Dev-C++黑暗主体和代码高亮配置
    Git操作:一次push把代码提交到两个仓库
    windows server 2012 r2 快速启动 部署remoteapp 显示服务器有挂起的重启,怎么解决?
  • 原文地址:https://www.cnblogs.com/Utopia-in-reality/p/14144734.html
Copyright © 2020-2023  润新知