vue列表滚动(2)
div:
<div id="box"> <ul id="con1" ref="con1" :class="{ anim: animate == true }"> <li v-for="item in items" @click="onClick(item)">{{ item.name }}</li> </ul> </div>
css:
#box { width: 300px; height: 100px; overflow: hidden; padding-left: 30px; border: 1px solid black; } .anim { transition: all 0.5s; margin-top: -30px; } #con1 li { list-style: none; line-height: 30px; height: 30px; }
vue:
data 声明变量
animate: false, items: [ //消息列表对应的数组 { name: "北京" }, { name: "上海" }, { name: "湖南" }, { name: "广州" }, ],
created初始化
setInterval(this.scroll, 1000);
methods方法
scroll() { this.animate = true; setTimeout(() => { this.items.push(this.items[0]); // 将数组的第一个元素添加到数组的 this.items.shift(); //删除数组的第一个元素 this.animate = false; // margin-top 为0 的时候取消过渡动画,实现无缝滚动 }, 500); }, onClick(item){ console.log(item.name); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述