vue实现消息的无缝滚动效果
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | export default { data() { return { animate: false , items:[ {name: "马云" }, {name: "雷军" }, {name: "王勤" } ] } }, created(){ setInterval( this .scroll,1000) }, methods: { scroll(){ this .animate= true ; // 因为在消息向上滚动的时候需要添加css3过渡动画,所以这里需要设置true setTimeout(()=>{ // 这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多 this .items.push( this .items[0]); // 将数组的第一个元素添加到数组的 this .items.shift(); //删除数组的第一个元素 this .animate= false ; // margin-top 为0 的时候取消过渡动画,实现无缝滚动 },500) } } |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #box{ width : 300px ; height : 32px ; overflow : hidden ; padding-left : 30px ; border : 1px solid black ; } .anim{ transition: all 0.5 s; margin-top : -30px ; } #con 1 li{ list-style : none ; line-height : 30px ; height : 30px ; } |
HTML
1 2 3 4 5 | < div id="box"> < ul id="con1" ref="con1" :class="{anim:animate==true}"> < li v-for='item in items'>{{item.name}}</ li > </ ul > </ div > |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?