如何实现斗鱼导航滑动功能?

本文介绍了一个使用Vue.js创建的导航组件实例,展示了如何通过v-for循环动态生成导航项,并使用@click事件监听器处理导航点击事件。同时,组件还实现了响应式设计,包括自动隐藏滚动条和设置导航项的激活状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
    <div id="mynav"> 
        <ul>
            <li :class="current === -1 ? 'active' : ''" @click = "navclick(-1)">
                <span>推荐</span>
            </li>
            <li v-for="(item , index) in data" :key="item.shortName" :class="current === index ? 'active' : ''"  @click = "navclick(index)">
                <span>{{item.name}}</span>
            </li>
        </ul>
    </div>
</template>
<script>
import {navList} from '../../api/index'
export default {
    // name: mynav,
    data(){
        return{
            data: [],
            current: -1
        }
    },
    created() {
        navList().then(res => {
            // console.log(res)
            this.data = res;
        })
    },
    methods:{
        navclick(i){
            this.current = i
        }
    }
}
</script>
<style scoped>
    #mynav {  /* 设置整个盒子的宽度为100% 横向超出的为自动 */
        width: 100%;
        overflow-x: auto;
    }
        /* 删除滚动条 */
    #mynav::-webkit-scrollbar {
        display: none;
    }
    ul {
        display: flex;
        width: 210%;
    }
    li {
        font-size: .28rem;
        height: .88rem;
        line-height: .88rem;
    }
    span {
        margin: 0 .2rem
    }
    .active span {
        color: #ff6700;
        font-weight: 900;
        border-bottom: 2px solid #ff6700;
        
    }
    span {
        padding-bottom: .03rem;
    }
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值