js 实现文字滚动功能,可更改配置参数 带完整版解析代码。
前言:
本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽。
本篇文章为您分析一下原生JS写文字滚动效果
需求分析:
需要用到animate.js动画插件 【上一篇博客中】 https://www.cnblogs.com/qq4297751/p/12651460.html
如果您没有看过我上一篇的运动插件的博客,那么请您先看完运动插件再来查阅下面这篇文章,本片文章只是对运动插件的一个小应用
HTML结构
<div class="container">
<div class="left title">最新公告</div>
<div class="left item">
<ul>
<li>1.Lorem ipsum dolor sit.</li>
<li>2.Deserunt nobis eum consectetur.</li>
<li>3.Deleniti ut esse praesentium?</li>
<li>4.Unde ullam dolore dicta!</li>
<li>5.Hic dicta atque esse.</li>
</ul>
</div>
</div>
CSS样式
.container {
background-color: #b3effe;
height: 50px;
padding: 10px 20px;
box-sizing: border-box;
}
.left {
float: left;
height: 30px;
line-height: 30px;
}
.title::after {
content: "|";
margin-left: 15px;
font-size: 25px;
color: #d8d8d8;
/* vertical-align: -5px; */
}
.left ul {
margin: 0;
padding: 0;
list-style: none;
margin-left: 20px;
height: 30px;
overflow: auto;
}
.left ul li {
height: 30px;
}

想让他无缝滚动,就需要在最后一条数据中添加第一条数据
// 选中ul
var ul = document.querySelector(".left ul");
// 第一步: 要让他无缝滚动,需要复制第一个li
function cloneFirstLi() {
// 深度克隆第一个li元素
var firstLi = ul.children[0].cloneNode(true);
// 添加到ul之后
ul.appendChild(firstLi);
}
cloneFirstLi(); // 调用函数
/**
* 第二步: 开始滚动
*/
function startSroll() {
// 设置定时器
setInterval(scroll, 2000)
}
/**
* 第三步: 滚动一次的距离
*/
function scroll() {
// 调用运动插件
var animate = new myPlugin.Animate({
total: 300, // 总时间
begin: {
top: curTop // 开始滚动条的高度
},
end: {
top: curTop + height // 结束滚动条的高度 = 当前滚动条的高度加上滚动距离
},
onmove: function () {
curTop = this.curData.top; // 目标状态的滚动条高度
ul.scrollTop = curTop; // 重新设置滚动条的高度
},
onover: function () {
// 如果当前滚动条的高度 - 滚动距离 === 目标状态的滚动条高度
if (ul.scrollHeight - height === curTop) {
curTop = 0; //滚动条回到0
ul.scrollTop = curTop; // 重新设置滚动条的高度
}
}
});
animate.start(); // 调用开始函数
}
startSroll();


结语
整完!!!
js 实现文字滚动功能,可更改配置参数 带完整版解析代码。的更多相关文章
- js 实现淘宝放大镜功能,可更改配置参数 带完整版解析代码[magnifier.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝放大镜效果 基本功能: 运 ...
- js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...
- js 实现图片瀑布流效果,可更改配置参数 带完整版解析代码[waterFall.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS实现图片瀑布流效果 页面需求 1 ...
- js 实现对象的混合与克隆效果,带完整版解析代码[helpers.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 对象混合 ...
- js 实现动画功能,完整解析插件版 可更改配置参数[animate.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写一个运动插件 基本功能: 补充 ...
- JS无缝文字滚动(兼容各大浏览器)
<style>*{margin:0px;padding:0px;border:0px;}body{font-size:12px}#demo1{height:auto;text-align: ...
- MFC/VC CxImage 简单配置与使用 (完整版)
如果本篇文章还不能解决你在生成解决方案以及便宜过程中的问题 请参阅: http://blog.csdn.net/afterwards_/article/details/7997385 我个人配置过来成 ...
- PHP LAMP环境搭建及网站配置流程(完整版)
心血来潮想做一个自己的博客网站,写一些文章做技术分享,平时遇到的一些问题的解决办法都记录下来,网站搭建成功,那么第一篇博客自然就是整个网站的搭建以及域名的注册.备案.解析流程,总共分为以下几步: 1. ...
- IntelliJ IDEA配置Tomcat(完整版教程)
查找该问题的童鞋我相信IntelliJ IDEA,Tomcat的下载,JDK等其他的配置都应该完成了,那我直接进入正题了. 1.新建一个项目 2.由于这里我们仅仅为了展示如何成功部署Tomcat,以及 ...
随机推荐
- vulnhub~MyExpense
最近有点忙,这几天的vulnhub断更了,今天试着做了一下myexpense,当然想要一帆风顺是不可能的,哪怕是有别人的steps 和walkthrough.所以就遇到的坑总结如下: 一般套路就是nm ...
- 别人家的 InfluxDB 实战 + 源码剖析
1. 前几次的分享,我们多次提到了下图中 Metrics 指标监控的 Prometheus.Grafana,而且 get 到了 influxdata 旗下的 InfluxDB 的入门技能. 本次,我们 ...
- js 调用铃声
<audio autoplay="autoplay" id="auto" src=""> </audio> play ...
- SciPy - 正态性 与 KS 检验
假设检验的基本思想 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的:如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设: 假设检验实质 ...
- Elasticsearch 核心术语概念
Elasticsearch 相当于一个关系型数据库 索引 index 类型 type 文档 document 字段 fields 跟关系型数据库对比 Elasticsearch 相当于一个数据库 索引 ...
- Linux 压缩备份篇(一 压缩与解压缩)
.Z compress程序压缩的档案 .bz2 bzip2程序压缩的档案 .gz gzip程序压缩的档案 .t ...
- Python库-NumPy
NumPy是一个开源的Python科学计算库,用于快速处理任意维度的数组. 创建NumPy数组 #创建一维数组 list1 = [1,2,3,4] array1= np.array(list1)#用p ...
- shell http请求&处理返回值获取其中某个字段的值
并且第一个接口的返回值中部分参数得作为第二个接口的入参,所以做了如下shell验证 第一个接口返回的response body串: { "bizCode": "1&quo ...
- 奥卡姆剃刀原则在ERP项目的应用
一向崇信“奥卡姆剃刀原则”,如非必要,绝不新增. 在我所实施的项目中,自定义字段.自定义报表非常少.很极端的一个例子是,曾经有一家工厂,生产打印机的部件,产品百分之百外销. 在项目实施完成,成功上线后 ...
- Hibernate框架 jar包介绍
一直使用my eclipse集成的Hibernate来学习.最近在写hibernate的日记,写到搭建hibernate框架的时候才发现自己对hibernate的内容还是不了解,决定自己手动搭建一下. ...