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实例的特性来 ...
随机推荐
- 003---random随机数模块
import random # 随机数(0-1) print(random.random()) # 随机整数, 包含尾巴 print(random.randint(-1, 2)) # 不包含尾巴 pr ...
- UVA - 12230
#include <bits/stdc++.h> using namespace std; int n; double d; double p,l,v,ret,sum; ; /* 村庄A, ...
- 15 GIL 全局解释器锁 C语言解决 top ps
1.GIL 全局解释器锁:保证同一时刻只有一个线程在运行. 什么是全局解释器锁GIL(Global Interpreter Lock) Python代码的执行由Python 虚拟机(也叫解释器主循环, ...
- 最新cloudera大数据培训班 ccah ccdh 数据分析师 数据科学家
上海2月21-24日Cloudera Developer training for Spark and Hadoop(CCA-175)北京2月23-26日Cloudera Developer tr ...
- PRO*C 函数事例 2 -- 数据库操作
Pro*C Oracle 的嵌入式开发,数据库处理部分最好能提取到一个模块,按照对不同数据库表的操作分成不同的.pc文件(如 DbsInstStat.pc).将此模块编译成库(c文件编译时链接此库), ...
- 人工智能,图片识别,与GUI编程
GUI编程: https://sourceforge.net/projects/pyqt/ 百度aip图片识别 https://pypi.python.org/pypi/baidu-aip
- Spring+quartz cron表达式(cron手册官方)完美理解
------------------------------------- 15 17/1 14/3 * * ? 从每小时的17分15秒开始 每分钟的15秒执行一次14:17:15 ...14:59: ...
- nmon Analyser分析仪
nmon Analyser官网: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+System ...
- 第二篇 Postman的高阶使用之配置全局变量及局部变量的调用及设置方法(手动方法)
第五篇主要写了关于postman的基本使用,重点是如果发送json请求,为什么要将发送json请求呢, 一是目前大多数的请求已经倾向于发送json格式,二是本人太懒了,不想一个字段一个字段的添加到参数 ...
- 给虚拟机发送键盘按键key
使用举例:virsh send-key 11 KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE作用:发送"ctrl+alt+del"给虚拟机,linux虚拟机 ...