需求描述

接到的需求是这样的:跑马灯效果 一次展示一行文字 循环滚动 文字滚动到视野中停留一秒后滚出。

静态效果如下图,文字从下往上或者从右往左滚动,滚动到此位置时停留一秒(不会传动图...

网络上有比较多的多行文字循环滚动的demo,找了一下好像能满足单行并且可停留一秒的比较少(emmm可能我没认真找

下面贴出我的最终解决方案。

解决方案

垂直方向滚动

使用一个定时器 不断改变最外层div的scrollTop,为了能循环滚动,增加一个与con1一样的con2

PS:这里的time选用1000/60是因为想要模拟window.requestAnimationFrame(一般1000ms60帧,当然了,你也可以直接使用requestAnimationFrame代替setInterval,效果更好

单行文字垂直跑马灯效果

ul,li{

list-style:none;

display:block;

margin: 0;

padding: 0;

}

#loop-show-box {

width: 300px;

height: 25px;

line-height: 25px;

background: red;

position: absolute;

top: 0;

left: 0;

right: 0;

overflow: hidden;

}

.li-style {

width: 100%;

height: 25px;

text-align: center;

}

  • 测试1号
  • 测试2号
  • 测试3号
  • 测试4号

var area = document.getElementById('loop-show-box');

var con1 = document.getElementById('con1');

var con2 = document.getElementById('con2');

var mytimer1 = null;

var mytimer = null;

var time = 1000 / 60;

con2.innerHTML = con1.innerHTML;

function scrollUp () {

if (area.scrollTop >= con1.offsetHeight) {

area.scrollTop = 0;

} else {

if (area.scrollTop % 25 == 0) {

clearInterval(mytimer);

clearInterval(mytimer1);

mytimer1 = setTimeout(function () {

mytimer = setInterval(scrollUp, time);

}, 1000);

}

area.scrollTop++;

}

}

mytimer = setInterval(scrollUp, time);

水平方向滚动

水平方法滚动的具体实现其实跟垂直方向类似的,不同的是要改变的是容器的scrollLeft

单行文字水平跑马灯效果

*{

margin: 0;

padding: 0;

}

.container {

width: 400px;

height: 25px;

display: flex;

flex-direction: row;

justify-content: center;

align-items: center;

margin: 100px auto;

}

.icon {

width: 15px;

margin-right: 15px;

}

#loop-show-box {

width: 300px;

height: 25px;

line-height: 25px;

background: red;

overflow: auto;

white-space: nowrap;

}

.li-style {

width: 300px;

height: 25px;

text-align: left;

/*使用inline-block的时候两个item之间会存在间距(当然了你可以把它们写在一行以去除这样的间距*/

display: inline-flex;

}

#con1,#con2 {

display: inline-flex;

}

测试1号
测试2号
测试3号
测试4号
测试5号
测试6号

var area = document.getElementById('loop-show-box');

var con1 = document.getElementById('con1');

var con2 = document.getElementById('con2');

var mytimer1 = null;

var mytimer = null;

var time = 1000 / 60;

con2.innerHTML = con1.innerHTML;

function scrollUp () {

if (area.scrollLeft >= con1.offsetWidth) {

area.scrollLeft = 0;

} else {

// 可根据想要的速度调节步长

area.scrollLeft += 2;

if (area.scrollLeft % 300 == 0) {

clearInterval(mytimer);

clearInterval(mytimer1);

mytimer1 = setTimeout(function () {

mytimer = setInterval(scrollUp, time);

}, 1000);

}

}

}

mytimer1 = setTimeout(function () {

mytimer = setInterval(scrollUp, time);

}, 1000)

html纵向的跑马灯效果,单行文字垂直/水平跑马灯效果相关推荐

  1. 单行文字垂直/水平跑马灯效果

    需求描述 接到的需求是这样的:跑马灯效果 一次展示一行文字 循环滚动 文字滚动到视野中停留一秒后滚出. 静态效果如下图,文字从下往上或者从右往左滚动,滚动到此位置时停留一秒(不会传动图... 网络上有 ...

  2. jq文字垂直滚动/滚屏效果

    下载地址:https://github.com/ybx13579/text-verticality-scroll 直接复制文本即可查看,或点击 ↑ 地址下载查看 效果预览 <!DOCTYPE h ...

  3. AutoCAD中实现多个单行文字水平对齐(利用LISP)

    AutoCAD中实现多个单行文字水平对齐(利用LISP) 1.需求 2.思路 3.流程图 4.代码 1.需求 将杂乱无章的单行文字对象水平对齐,即X坐标相同,Y.Z坐标不变.其中,文字的对正方式方式限 ...

  4. android跑马灯效果不起作用,Android跑马灯效果失效问题

    Android中的跑马灯效果在特定情况下用的效果很不错,调试的时候发现在2.3系统下,文字跑动正常,后来无意换了另一个手机,4.0以上的系统,发现文字跑动效果失效,研究后发现有两种情况会导致失效. 先 ...

  5. 单行文字、多行文字溢出时省略号表示的多种解决方式;调整字符间距;段落首字母大写缩进效果;

    文本溢出省略号表示的实现效果: 1.解决单行文字溢出: 解决方式: 在文字容器样式中添加 overflow:hidden; text-overflow:ellipsis; white-space: n ...

  6. 简易实现 TextView单行文本水平触摸滑动效果

    为了方便查看,已使用markdown编辑形成新博文. 本文Mardown地址 近期做应用的时候实用到TextView单行长文本,当文本内容过长时候又想实现触摸水平滑动效果. 网上找了非常多,都没有看到 ...

  7. 单行文字垂直居中,多行文字垂直居中

    这里通过下面一个实例来讲一下单行文字居中和多行文字居中的方法: 一.单行文字居中 原理: 使用height 和 line-height,相等的原理. 二.多行文字居中 原理: 将多行文字当做一张图片去 ...

  8. 图文识别(一):验证码识别---中、英文、数字混合的单行文字识别等

    最近有位大神分享了一个验证码库,试用一下发现非常实用,特做个分享记录. Github地址:GitHub - sml2h3/ddddocr: 带带弟弟 通用验证码识别OCR pypi版 Pip地址:dd ...

  9. html背景图总是在字的下面,怎么我在excel表格里插入背景图片后图片不是显示在文字下面而跑到文字右边的...

    怎么我在excel表格里插入背景图片后图片不是显示在文字下面而跑到文字右边的以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...

  10. 网页中文字及图片实现滚动效果

    哈哈,我想说好东西怎么能不共享呢!实现网页文字及图片滚动的效果,特别好玩哟! <html> <body> <center> <font face=" ...

最新文章

  1. 查看LINUX发行版的名称及其版本号
  2. MySQL批量更新死锁案例分析--转载
  3. BW事务代码SXMB_ADM、 SICF、SMICM简介
  4. java 代码执行el,专属于java的漏洞——EL表达式注入
  5. binarySearch与IndexOf的那些事儿~
  6. Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档
  7. 2018年计算机应用基础性考,2018年电大计算机应用基础核心课形考册
  8. 今日恐慌与贪婪指数为86 贪婪程度有所缓解
  9. 很好的一篇讲解sql优化的文章
  10. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.异常处理
  11. (纪中)2173. 无根树(tree)【SPFA】
  12. noj [1480] 懒惰的风纪委Elaine (多重背包)
  13. 算法专题训练(1)股票问题
  14. android 平板的 dpi,Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸...
  15. Mysql三种存储引擎及区别
  16. 【汇编 C】循环语句goto、while、dowhile、for
  17. 2016网易个人电子邮箱用户行为研究报告
  18. 量化交易主要是什么?
  19. 数学速算法_怎样让孩子喜欢上数学,除了老师,家长更应该把这4件事做好
  20. 安装与配置NC产品(NC65)

热门文章

  1. Nacos启动报错解决:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  2. php软件怎么使用方法,ps软件的日常使用方法有哪些?
  3. CS_2022_01
  4. H5小游戏——看你有多色
  5. Goldendict 1.5.0 VS2015 Qt 5.7 源代码编译
  6. dingo php,dingo/api 使用
  7. 三安集成长沙碳化硅制造基地下半年启动投产;龙芯中科正式发布完全自主指令集架构 | 美通企业日报...
  8. U盘引导盘制作工具---Rufus
  9. 你不能错过的超赞色彩组合
  10. 《现代操作系统》阅读笔记