js实现横向跑马灯效果
首先我们需要一个html代码的框架如下:
- <div style="position: absolute; top: 0px; left: 168px; width: 100%; margin-left: auto; margin-right: auto; height: 47px; border: 0px solid red; overflow: hidden;">
- <ul id="syNoticeUlNew" style="margin: 0px;left:0; top:0;margin-bottom:0px;width:100%;height:47px;position:absolute;">
- </ul>
- </div>
我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容应该是动态的。于是应该发送ajax来进行内容的获取拼接。
- $.ajax({
- type:"post",
- dataType:"json",
- url:"${contextPath}/indexPage/getSyNoticeInfo",
- success:function(result){
- var totalStr = "";
- if(result.length>0){
- for(var i=0 ; i<result.length;i++){
- str = "<li style=\"list-style: none;display:inline-block;float:left;height:47px;padding-right:50px;line-height:47px;\">"+
- "<a style=\"color:white;\" class=\"sstzNoticeStyle\">"+result[i].peopleName+"</a>"+
- "</li>";
- totalStr +=str;
- }
- }
- $("#syNoticeUlNew").empty();
- $('#syNoticeUlNew').html(totalStr);
- syRunHorseLight();
- }
- });
拼接li时候有个class为sstzNoticeStyle。其样式如下:
- .sstzNoticeStyle{
- color:white; font-size:16px;text-decoration:none;
- }
- .sstzNoticeStyle:hover{
- color:white; font-size:16px;text-decoration:none;
- }
ajax调用syRunHorseLight函数,函数如下:
- function syRunHorseLight() {
- if (syTimer != null) {
- clearInterval(syTimer);
- }
- var oUl = document.getElementById("syNoticeUlNew");
- if(oUl != null){
- oUl.innerHTML += oUl.innerHTML;
- oUl.innerHTML += oUl.innerHTML;
- oUl.innerHTML += oUl.innerHTML;
- var lis = oUl.getElementsByTagName('li');
- var lisTotalWidth = 0;
- var resetWidth = 0;
- for (var i = 0; i < lis.length; i++) {
- lisTotalWidth += lis[i].offsetWidth;
- }
- for (var i = 1; i <= lis.length / 4; i++) {
- resetWidth += lis[i].offsetWidth;
- }
- oUl.style.width = lisTotalWidth + 'px';
- var left = 0;
- syTimer = setInterval(function() {
- left -= 1;
- if (left <= -resetWidth) {
- left = 0;
- }
- oUl.style.left = left + 'px';
- }, 20)
- $("#syNoticeUlNew").hover(function() {
- clearInterval(syTimer);
- }, function() {
- clearInterval(syTimer);
- syTimer = setInterval(function() {
- left -= 1;
- if (left <= -resetWidth) {
- left = 0;
- }
- oUl.style.left = left + 'px';
- }, 20);
- })
- }
- }
跑马灯效果就此实现。
js实现横向跑马灯效果的更多相关文章
- JS实现跑马灯效果(向左,向上)
<html> <head> <title>JS实现跑马灯效果</title> <style> * { font-size:12px; fon ...
- 微信小程序跑马灯效果--基于CSS3 animation 及 基于JS
如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 基于CSS3主要代码实现 效果图: 视图模板wxml中: <view class=&qu ...
- JS写一个列表跑马灯效果--基于touchslide.js
先放上效果图: 类似于这样的,在列表中循环添加背景样式的跑马灯效果. 准备引入JS插件: <script type="text/javascript" src="x ...
- JS实现跑马灯效果(鼠标滑入可暂停,离开继续跑)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- TextView跑马灯效果
转载:http://www.2cto.com/kf/201409/330658.html 一.只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号 android ...
- Vue学习笔记四:跑马灯效果
目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...
- vue实现跑马灯效果
vue实现跑马灯效果为阿中哥哥应援 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> & ...
- marquee标签实现跑马灯效果--无缝滚动
今天在做微信端的大转盘抽奖时,想把所有用户的抽奖记录做成无缝滚动的效果,无奈我的js功底太差,一时想不出实现的方法,便百度各种相似效果.但无意中发现了一个html标签——<marquee> ...
- 黑马vue---10-11、Vue实现跑马灯效果
黑马vue---10-11.Vue实现跑马灯效果 一.总结 一句话总结: 1. 给 [浪起来] 按钮,绑定一个点击事件 v-on @ 2. 在按钮的事件处理函数中,写相关的业务逻辑代码:拿到 ...
随机推荐
- 配置vscode同步大神玺哥的配置
1.应用商店下载settings sync 2.三键 ctrl + shift + p 对话框中输入sync:点击重置 3.ctrl + shift + p 点击下载 4.然后会自动的调整到g ...
- Python - Python2与Python3的区别、转换与兼容
区别 Python2.x与Python3.x版本区别:http://www.runoob.com/python/python-2x-3x.html 示例解读Python2和Python3之间的主要差异 ...
- cassandra 3.x官方文档(7)---内部原理之如何读写数据
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是 ...
- jupyter-notebook后home页面空白问题
jupyter-notebook后home页面空白问题 解决方案1 更换默认的浏览器,选择谷歌浏览器,很多360打不开的页面,更换谷歌后都能有效解决,并且确保是最新版本的google浏览器. 解决 ...
- Python内置函数(58)——slice
英文文档: class slice(stop) class slice(start, stop[, step]) Return a slice object representing the set ...
- 「造个轮子」——cicada 源码分析
前言 两天前写了文章<「造个轮子」--cicada(轻量级 WEB 框架)> 向大家介绍了 cicada 之后收到很多反馈,也有许多不错的建议. 同时在 GitHub 也收获了 80 几颗 ...
- Javascript基本类型回顾
本文是学习和总结ECMAScript5.1规范形成的.是对规范中所提及的Javascript类型进行剖析后的个人观点的表达(如有Bug望各位道友指正).主要是各类型的实例方法,不包含任务构造函数的方法 ...
- Zara带你快速入门WPF(2)---布局篇
一.章节目标 这几章节我们会创建一个完整的Window程序,包括使用DataGrid空间,数据绑定是把.NET类中的数据提供给用户界面的一个重要概念,还允许修改数据,包括.NET4.5新增的INoti ...
- Unable to build: the file dx.jar was not loaded from the SDK folder
eclipse 运行 android 时失败了,提示 Unable to build: the file dx.jar was not loaded from the SDK folder! 解决办法 ...
- 通过Python、BeautifulSoup爬取Gitee热门开源项目
一.安装 1.通过requests 对响应内容进行处理,requests.get()方法会返回一个Response对象 pip install requests 2.beautifulSoup对网页解 ...