Js跑马灯效果 && 在Vue中使用
DEMO:
<!DOCTYPE html>
<html>
<head>
<title>滚动播报</title>
<meta charset="UTF-8">
<style>
.content {
height: 60px;
background-color: #2c2c34;
overflow: hidden;
}
.content ul {
white-space: nowrap;
}
.content ul li {
position: relative;
font-size: 14px;
vertical-align: middle;
line-height: 35px;
padding: 0 8px;
white-space: nowrap;
display: inline-block;
color: #fff
}
#scrollBox {
overflow: hidden;
}
#scrollBox .scrollWrap {
width: 500%
}
.scrollCont {
float: left;
}
</style>
</head>
<body>
<div class="content">
<ul>
<div id="scrollBox">
<div class="scrollWrap">
<div id="scrollContOne" class="scrollCont">
<li>我是第一条数据</li>
<li>我是第二条数据</li>
<li>我是第三条数据</li>
<li>我是第四条数据</li>
<li>我是第五条数据</li>
<li>我是第六条数据</li>
<li>我是第七条数据</li>
<li>我是第八条数据</li>
</div>
<div id="scrollContTwo" class="scrollCont"></div>
</div>
</div>
</ul>
</div>
<script>
let speed = 40
let scrollBox = document.getElementById("scrollBox");
let scrollContOne = document.getElementById("scrollContOne");
let scrollContTwo = document.getElementById("scrollContTwo");
scrollContTwo.innerHTML = scrollContOne.innerHTML;
scrollBox.scrollLeft = 0;
function scrollRadio() {
if (scrollBox.scrollLeft >= scrollContTwo.offsetWidth) {
scrollBox.scrollLeft -= scrollContOne.offsetWidth
} else {
scrollBox.scrollLeft += 2;
}
}
let MyScrollRadio = setInterval(scrollRadio, speed);
scrollBox.onmouseover = function() {
clearInterval(MyScrollRadio)
};
scrollBox.onmouseout = function() {
MyScrollRadio = setInterval(scrollRadio, speed)
};
</script>
</body>
</html>
在Vue中使用:
<template>
<div class="content">
<ul>
<div id="scrollBox">
<div class="scrollWrap">
<div id="scrollContOne" class="scrollCont">
<li v-for="item in items">
<a href="{{item}" target="_blank"></a>
</li>
</div>
<div id="scrollContTwo" class="scrollCont"></div>
</div>
</div>
</ul>
</div>
</template>
<style scoped>
.content {
height: 60px;
background-color: #2c2c34;
overflow: hidden;
}
.content ul {
white-space: nowrap;
}
.content ul li {
position: relative;
font-size: 14px;
vertical-align: middle;
line-height: 35px;
padding: 0 8px;
white-space: nowrap;
display: inline-block;
}
.content ul li a {
text-decoration: none;
color:#fff;
}
#scrollBox {
overflow: hidden;
margin-left: 36px;
}
#scrollBox .scrollWrap {
width: 500%
}
.scrollCont {
float: left;
}
</style>
<script>
export default {
data: () => ({
canScrollTimer: 0
}),
vuex: {
getters: {
scrollLists: state => state.scrollLists
}
},
watch:{
scrollLists:{
deep:true,
handler(v,ov){
if(v.length){
this.run();
}
}
}
},
methods: {
run() {
let speed = 40;
let scrollBox = document.getElementById("scrollBox");
let scrollContOne = document.getElementById("scrollContOne");
let scrollContTwo = document.getElementById("scrollContTwo");
scrollContTwo.innerHTML = scrollContOne.innerHTML;
scrollBox.scrollLeft = 0;
function scrollRadio() {
if (scrollBox.scrollLeft >= scrollContTwo.offsetWidth) {
scrollBox.scrollLeft -= scrollContOne.offsetWidth
} else {
scrollBox.scrollLeft += 2;
}
}
let MyScrollRadio = setInterval(scrollRadio, speed);
scrollBox.onmouseover = function() {
clearInterval(MyScrollRadio)
};
scrollBox.onmouseout = function() {
MyScrollRadio = setInterval(scrollRadio, speed)
};
}
},
ready() {
//接口调用
}
}
</script>
Js跑马灯效果 && 在Vue中使用的更多相关文章
- js跑马灯效果
function nextPage() { /* 克隆第一张图片并添加到box后 box前移一张图片的距离动画 动画回调里把box的 ...
- vue实现跑马灯效果
vue实现跑马灯效果为阿中哥哥应援 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> & ...
- Vue学习笔记四:跑马灯效果
目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...
- 黑马vue---10-11、Vue实现跑马灯效果
黑马vue---10-11.Vue实现跑马灯效果 一.总结 一句话总结: 1. 给 [浪起来] 按钮,绑定一个点击事件 v-on @ 2. 在按钮的事件处理函数中,写相关的业务逻辑代码:拿到 ...
- VUE小案例--跑马灯效果
自学Vue课程中学到的一个小案例,跑马灯效果 <!DOCTYPE html> <html lang="zh-CN"> <head> <me ...
- 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 ...
- vue学习第二天:Vue跑马灯效果制作
分析: 1. 给开始按钮绑定一个点击事件 2.在按钮的事件处理函数中,写相关的业务代码 3.拿到msg字符串 4.调用字符串的substring来进行字符串的截取操作 5.重新赋值利用vm实例的特性来 ...
随机推荐
- Python学习手册之Python异常和文件
在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963 ...
- makefile = 与 := 的区别
“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将会是整个makefile中最后被指定的值.看例子: x = foo y = $(x) bar ...
- REPLACE(替换字段内容)
语法: REPLACE <str1> WITH <str2> INTO <c> [LENGTH <l> ]. ABAP/4 搜索字段 <c> ...
- python基础之try异常处理、socket套接字基础part1
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...
- Hadoop学习(四) FileSystem Shell命令详解
FileSystem Shell中大多数命令都和unix命令相同,只是两者之间的解释不同,如果你对unix命令有基本的了解,那么对于FileSystem Shell的命令,你将会感到很亲切. appe ...
- 2007: [Noi2010]海拔
2007: [Noi2010]海拔 https://www.lydsy.com/JudgeOnline/problem.php?id=2007 分析: 平面图最小割. S在左下,T在右上,从S到T的一 ...
- onenet基础通信套件返回+CIS ERROR: 50的问题解决
1. 场景分析,主要问题就是有些操作返回+CIS ERROR: 50 2. 看了一下在AT+MIPLOBSERVERSP这个指令里面是没有返回+CIS ERROR: 50的错误类型的,所以应该是在解析 ...
- 「日常训练」 Soldier and Traveling (CFR304D2E)
题意 (CodeForces 546E) 对一个无向图,给出图的情况与各个节点的人数/目标人数.每个节点的人只可以待在自己的城市或走到与他相邻的节点. 问最后是否有解,输出一可行解(我以为是必须和答案 ...
- Sublime text3最全快捷键清单
[转]https://blog.csdn.net/mrchengzp/article/details/78508509,感谢作者的分享,收录方便查阅 Sublime Text 支持多种编程语言的语 ...
- 12.0 Excel表格读取
Pycharm安装 xlrd 首先在xuexi目录下创建一个ExcelFile文件,让后在ExcelFile下创建一个Excel表格 创建表格时记得把单元格的格式设置为[文本] 我们设置为文本之后,存 ...