js_跑马灯
跑马灯?刚听到这个词的时候,脑袋第一个想到的是跑马?嗯?就是香港的那种跑马场。懂?其次就是霓虹灯了,一闪一闪的多好看。
霓虹灯?哦,那是城市的杰作,记忆中是。开往城市边缘开,把车窗都摇下来,用速度换一点痛快。。。
别问我为什么想到这个歌词,就是想到了。
技术段:
CSS
<style type="text/css">
/*1.跑马灯CSS*/
.marquee {
position: relative;
font-size: 1.2rem;
line-height: 1.44rem;
height: 1.4rem;
overflow: hidden;
color: #666;
}
.marquee li {
overflow: hidden;
margin-left: 26.5%;
}
</style>
HTML
<!-- 2.跑马灯HTML -->
<div class="marquee vip_zmd_area">
<ul id="marqueebox">
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
</ul>
</div>
<!---->
JS
<script type="text/javascript">
//3.跑马灯JS
startmarquee(20, 2000); //速度,间隔
function startmarquee(speed, delay) {
var p = false;
var t;
var sh;
var o = document.getElementById("marqueebox");
var lh = document.querySelector('.marquee').clientHeight;
o.innerHTML += o.innerHTML; o.style.marginTop = 0;
o.onmouseover = function() {
p = true;
}
o.onmouseout = function() {
p = false;
} function start() {
sh = o.offsetHeight;
o.style.height = sh + 'px';
t = setInterval(scrolling, speed);
if(!p) o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
} function scrolling() {
if(parseInt(o.style.marginTop) % lh != 0) {
o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
if(Math.abs(parseInt(o.style.marginTop)) >= sh / 2) o.style.marginTop = 0;
} else {
clearInterval(t);
setTimeout(start, delay);
}
}
setTimeout(start, delay);
// start();
}
</script>
伸手党往下看:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*1.跑马灯CSS*/
.marquee {
position: relative;
font-size: 1.2rem;
line-height: 1.44rem;
height: 1.4rem;
overflow: hidden;
color: #666;
}
.marquee li {
overflow: hidden;
margin-left: 26.5%;
}
</style>
</head> <body>
<!-- 2.跑马灯HTML -->
<div class="marquee vip_zmd_area">
<ul id="marqueebox">
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
<li class="tp"><span class="colorfff">恭喜中国平安张*升级为</span>超级会员</li>
</ul>
</div>
<!---->
</body>
<script type="text/javascript">
//3.跑马灯JS
startmarquee(20, 2000); //速度,间隔
function startmarquee(speed, delay) {
var p = false;
var t;
var sh;
var o = document.getElementById("marqueebox");
var lh = document.querySelector('.marquee').clientHeight;
o.innerHTML += o.innerHTML; o.style.marginTop = 0;
o.onmouseover = function() {
p = true;
}
o.onmouseout = function() {
p = false;
} function start() {
sh = o.offsetHeight;
o.style.height = sh + 'px';
t = setInterval(scrolling, speed);
if(!p) o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
} function scrolling() {
if(parseInt(o.style.marginTop) % lh != 0) {
o.style.marginTop = parseInt(o.style.marginTop) - 1 + "px";
if(Math.abs(parseInt(o.style.marginTop)) >= sh / 2) o.style.marginTop = 0;
} else {
clearInterval(t);
setTimeout(start, delay);
}
}
setTimeout(start, delay);
// start();
}
</script> </html>
这是一个上下滚动的跑马灯,需要左右滚动的同学,自己研究下。
前端这条路,我似乎越陷越深了,那就让我陷下去吧。
好想来一趟旅行,往西藏,往尼泊尔,往印度,往土耳其,往欧洲,往美国,往巴西,往澳大利亚,往新加坡。
js_跑马灯的更多相关文章
- jq跑马灯效果
这几天公司产品有个无缝循环滚动的广告跑马灯要做,最开始想到的是<marquee>标签,但在PC端正常,在安卓广告屏上却怎么都跑不动,后来用的css3的animation,结果也是PC端及其 ...
- Android-TextView跑马灯效果
要实现跑马灯还是比较简单的. 同时有几个需要注意的点,先上代码: public class MTView extends TextView { public MTView(Context contex ...
- jQuery+CSS3文字跑马灯特效
jQuery+CSS3文字跑马灯特效是一款将跑马灯背景制作为3D立方体效果,文字在上面移动时,就像是文字投影到墙壁上,在转角出会改变运动方向. 效果展示 http://hovertree.com/te ...
- IOS跑马灯效果,实现文字水平无间断滚动
ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ NSTimer ...
- 【IOS】自定义可点击的多文本跑马灯YFRollingLabel
需求 项目中需要用到跑马灯来仅展示一条消息,长度合适则不滚动,过长则循环滚动. 虽然不是我写的,但看了看代码,是在一个UIView里面放入两个UILabel, 在前一个快结束的时候,另一个显示.然而点 ...
- Android:TextView文字跑马灯的效果实现
解决TextView文字显示不全的问题. 简单设置跑马灯的效果: <TextView android:id="@+id/textView" android:layout_wi ...
- canvas九宫格跑马灯
canvas九宫格跑马灯抽奖 之前用dom写了一版,部分 安卓机会卡顿,换用canvas dom版本九宫格抽奖
- Third Day:正式编程第三天,学习实践内容TextView跑马灯、AutoCompleteTextView、multiAutoCompleteTextView以及ToggleButton、checkedBox、RadioButton等相关实践
2.针对Focused的TextView跑马灯(文字较多一行无法显示)效果 针对单个TextView的跑马灯效果,可直接在TextView控件参数中添加三个属性: android:singleLine ...
- TextView跑马灯效果
转载:http://www.2cto.com/kf/201409/330658.html 一.只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号 android ...
随机推荐
- 3dContactPointAnnotationTool开发日志(二一)
今天完成了修改按钮颜色,添加smpl模型到工具,以及可以显示物体子物体对应选项卡的功能.把之前的meshRenderer+meshFilter都改成了skinnedMeshRenderer,因为s ...
- [OS] 操作系统错题集
1. (判断) 答案:错 缓冲区有两块:高速缓存区(物理存在)和磁盘缓存区(逻辑存在,实际是内存一块),都不在外存(硬盘). 2. 操作系统的功能:处理机管理(进程管理).作业管理.存储管理.设备管理 ...
- C#中WVVM的使用
学习WVVM模式,设计一个简单的菜单显示和选择时显示个数的一个例子. 最终效果: 所建文件结构如下: MenuModel:菜品属性-名称和价格 using System; using System.C ...
- matlab eval【转】
Matlab 简单谈谈EVAL函数的用法 EVAL(s)相当于把字符串s的内容作为语句来执行. 比如:eval('a=3*5') 和直接在command 窗口中输入 a=3*5 等效 eval 一个经 ...
- BZOJ4864 BeiJing 2017 Wc神秘物质(splay)
splay维护区间最大值.最小值.相邻两数差的绝对值的最小值即可. #include<iostream> #include<cstdio> #include<cmath& ...
- [BZOJ5292] [BJOI2018]治疗之雨
题目链接 BZOJ:https://lydsy.com/JudgeOnline/problem.php?id=5292 洛谷:https://www.luogu.org/problemnew/show ...
- 【BZOJ4031】小Z的房间(矩阵树定理)
[BZOJ4031]小Z的房间(矩阵树定理) 题面 BZOJ 洛谷 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子 ...
- BZOJ4897 [Thu Summer Camp2016]成绩单 【dp】
题目链接 BZOJ4897 题解 发现我们付出的代价与区间长度无关,而与区间权值范围有关 离散化一下权值 我们设\(f[l][r][x][y]\)表示区间\([l,r]\)消到只剩权值在\([x,y] ...
- JavaScript Date的原型方法扩展
在JavaScript开发中,经常需要对Date类型的对象进行各种验证或格式化,但是js并没有提供那么多的那么细的函数,所以只好自己去用 prototype 扩充了,下面是我自己实现的Date类型常用 ...
- 《python核心编程》--读书笔记 第21章 数据库编程
准备:今天拿笔记本装了mysql,这样就能在不同地方用其他电脑远程访问同一个数据库了. python安装MySQLdb模块:http://www.codegood.com/downloads. 21. ...