这个跑马灯的实现思路其实跟轮播无缝连接的思路是一样的。实现的效果如下(这个软件的水印真的好明显,小小字在跑的就是跑马灯了=.=):


跑马灯的样式和html

<div class="notice-container"><span class="notice-icon"></span><div class="notice-items" ref="noticeBox"><div class="notice-items-inner" ref="noticeInner"><p>1、这是第一条跑马灯!!!!!!!!!</p><p>2、这是第二条跑马灯!!!</p><p>3、这是第三条跑马灯!!!</p><p>1、这是第一条跑马灯!!!!!!!!!</p> <!-- 这里是复制第一条数据,以做到无缝衔接 --></div></div>
</div>

样式定义如下

.notice-container {margin-top: 10px;background: #FFFFFF;font-size: 12px;color: #3E4759;height: 30px;overflow: hidden;box-sizing: border-box;width: 100%;display: flex;align-items: center;.notice-icon {display: block;margin-left: 10px;flex-shrink: 0;width: 27px;height: 27px;background: url("../assets/home/icon_home_gg.png") no-repeat;background-size: 100% 100%;}.notice-items {margin: 0 0 0 6px;flex: 1;display: flex;overflow: hidden;.notice-items-inner {display: flex;width: 100%;p {flex-shrink: 0;  // 这个结合父级的flex,可以做到不换行margin-right: 100%; // 这里的需求是一行切换完之后才能看到下一行的需求,所以加了100%的marginwhite-space: nowrap;}}}}

js处理如下:

initHorseLamp () {let boxWidth = this.$refs.noticeBox.offsetWidthlet innerWidth = 0let child = this.$refs.noticeInner.childNodeslet count = 0child.forEach(item => {if (item.nodeType === 1) {innerWidth += parseInt(window.getComputedStyle(item).width.split('px')[0])count++}})innerWidth += boxWidth * (count - 1)if (innerWidth > boxWidth) {let padding = 0let animation = () => {padding -= 1this.$refs.noticeInner.style.cssText = `transform: translate3d(${padding}px, 0, 0)`if (padding === -(innerWidth - parseInt(window.getComputedStyle(child[child.length - 1]).width.split('px')[0]))) {padding = 0this.$refs.noticeInner.style.cssText = `transform: translate3d(${padding}px, 0, 0)`}this.animationId = requestAnimationFrame(animation)}animation()}
}

跑马灯(走马灯)的js实现相关推荐

  1. html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  2. html语言怎么做到走马灯,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  3. css 实现跑马灯/走马灯无缝衔接 js实现无缝滚动图片

    先上效果图 首先呈上效果图,主要是针对图片跑马灯效果(请忽略我的快速播放和录屏图标) 具体实现方式 目前我需要展示6张图片,但是为了实现无缝衔接,我的列表放了12张(放2遍图片),这样就不至于在切换时 ...

  4. html垂直居中走马灯,史上最全解析:4种方法制作-PPT跑马灯/走马灯图片轮播动画...

    本期要点:全面解析不同场景下的跑马灯PPT图片动画 技巧概要:动画精准衔接 路径起点终点位置 插件提高效率 图文编辑:幻云PPT设计 大雄董军 比如我们今天要讲的跑马灯动画 跑马灯动画其实是根据咱们传 ...

  5. PHP怎么设置字体走马灯效果,html跑马灯/走马灯效果

    实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实现,我们在需要出现跑马灯效果的地方插入"滚动的文字"语句,它的效果如下所示: 滚动的文字 适当的运用标签的参数,可以表现 ...

  6. 原生js实现跑马灯效果,鼠标放下可以停止跑动

    js原生代码跑马灯效果纯js代码如下: 1.首先html的内容(里面图片自己可以换,li里面也可以填文字) <div> <ul><li>呵呵呵呵呵3</li& ...

  7. JS 跑马灯效果实现(很好用)

    原文地址为: JS 跑马灯效果实现(很好用) 实现跑马灯效果的JS很多,但是很多不好用,下面介绍一个比较好用的. 好用之处在于: 1 支持一个页面多个跑马灯效果 2.支持跑马灯内容的异步加载 关键的实 ...

  8. js在html中加文字走马灯特效,jQuery简单的文字跑马灯特效

    插件描述:这是一款非常简单的jQuery文字跑马灯特效插件.该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动. 更新时间:2018/2/8 下午3:21:52 更新说明 ...

  9. css3 文字走马灯,前端开发:css3实现文字首尾衔接跑马灯

    故事背景 事情是这样的,卤煮无意间得知一款外放效果宇宙无敌第一的手机!!!脑袋一热就趁着阿东618大促搞了一台,毕竟卤煮是一个地道的电子发烧友!!!但是当卤煮查询物流信息的时候...... 好吧,我这 ...

  10. web展现mysql_web页面实现LED跑马灯效果(涉及web前端、原生JS、PHP、mysql)

    本帖最后由 yoin 于 2019-11-21 16:24 编辑 产品需求: LED跑马灯页面展示内容(班级电脑展示) setLED更改内容(老师电脑更改内容) LED页面及时更新内容设计思路: 最初 ...

最新文章

  1. [原]VS2012编译GLEW 1.11
  2. python做啥用-python主要用于做什么
  3. 邓俊辉数据结构学习-3-栈
  4. 程序员职场:拥有一个学位将会在你的职业生涯中更加顺利!
  5. python 类中定义列表_Python-从类定义中的列表理解访问类变量
  6. 自定义序列化和反序列化的java实现
  7. H5页面快速搭建之高级字体应用实践
  8. 咏南IOCP REST中间件
  9. 重学数据结构:三对角矩阵公式推导过程
  10. win10显示rpc服务器不可用,win10系统RpC服务器不可用的详细办法
  11. C/C++ 内存对齐原则及作用
  12. 如何制作微信答题小程序(微信答题考试小程序开发制作功能介绍)
  13. Linux 系统 /var/log/journal/ 垃圾日志清理
  14. 如何用matlab解异或方程,Matlab-6:解非线性方程组newton迭代法
  15. linux如何进入文件编辑,Linux 文件编辑工具
  16. Raspberry Pi 3 -- Respeaker 4-mic的基本使用
  17. c++串口配置及DCB结构体
  18. android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法
  19. python中常用英语口语_常用英语口语100句超实用-
  20. 阿里云 OSS SDK :上传的图片直接访问变成下载问题解决

热门文章

  1. Liunx教程超详细(完整)
  2. Juniper防火墙配置备份
  3. 虚拟化主机系统在线web管理平台
  4. FIL最新行情,FIL预测能涨至750U是否过于夸大?会突破新高吗?
  5. P1616 疯狂的采药+P1833 樱花+P1077 [NOIP2012 普及组] 摆花+P1064 [NOIP2006 提高组] 金明的预算方案
  6. Winform分页控件使用详细介绍
  7. Centos 安装阿里软件安装源
  8. matlab保存pgm图形,matlab读写pgm文件
  9. 基于JQuery网页漂浮广告窗口Js详解
  10. T32 load elf