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,以及 ...
随机推荐
- Mac 开发工具信息的备份
相信大部分程序员都对开发环境的工具都有一些特殊的执念(???),如果在自己不习惯的环境中工作完全无法开展,怎么这个工具没有那个字体难受,我本人就是,换了新的 Mac 电脑后如何快速恢复到之前的开发工具 ...
- 1064 Complete Binary Search Tree (30分)(已知中序输出层序遍历)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- PTA数据结构与算法题目集(中文) 7-33
PTA数据结构与算法题目集(中文) 7-33 7-33 地下迷宫探索 (30 分) 地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式.地道网是房连房.街连街.村连村的 ...
- Windows命令help的基本使用
- rest_framework-序列化-1
序列化 定义模型类 from django.db import models # Create your models here. class StuModel(models.Model): SEX_ ...
- (js描述的)数据结构[栈结构](2)
(js描述的)数据结构[栈结构](2) 一.什么是栈结构 1.一种受限制的线性结构,这种结构可以基于数组来实现. 2.可以抽象成一个容器,上面的是栈顶,底下的是栈底.所以仅允许对栈顶进行操作, 二.栈 ...
- C语言移动一个点
#include"stdio.h"#include"windows.h"#include"conio.h"#define M 3#defin ...
- Linux 文件管理篇(二 目录信息)
其它在线帮助文档 usr/share/doc root用户的相关信息 etc/passwd 用户密码 etc/shadow 所有用户群组 etc/group 返 ...
- MySQL学习之路3-MySQL中常用数据类型
MySQL中常用数据类型 字符型 存储字符型数据.例如姓名,地址,电话号码等.使用引号括起来,一般使用单引号. 常用类型: char(255) 定长字符串,最大长度255个字符. varchar(25 ...
- 使用docker搭建selenium grid 分布式环境
本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...