Marquee标签实现信息滚动
html标签<marquee>
可以实现多种滚动效果,无需js控制。
使用marquee标记不仅可以移动文字,也可以移动图片,表格等.
语法:<marquee>...</marquee>
;
说明:在标记之间添加要进行滚动的内容。
重要属性:
- 滚动方向direction(包括4个值:up、 down、 left和 right)
语法:<marquee direction="滚动方向">...</marquee>
- 滚动方式behavior(scroll:循环滚动,默认效果; slide:只滚动一次就停止; alternate:来回交替进行滚动)
语法:<marquee behavior="滚动方式">...</marquee>
- 滚动速度scrollamount(滚动速度是设置每次滚动时移动的长度,以像素为单位)
语法:<marquee scrollamount="5">...</marquee>
- 滚动延迟scrolldelay(设置滚动的时间间隔,单位是毫秒)
语法:<marquee scrolldelay="100">...</marquee>
- 滚动循环loop(默认值是-1,滚动会不断的循环下去)
语法:<marquee loop="2">...</marquee>
- 滚动范围width、height
- 滚动背景颜色bgcolor
8.空白空间hspace、vspace案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<div class="box" style="width:500px;border:3px solid #ccc;margin:50px auto 0;padding:10px;">
<dl style="list-style:none;">
<dt style="list-style:none;">文字滚动示例(默认):</dt>
<dd><marquee>我默认向左滚。。。。。</marquee></dd>
</dl>
<dl style="list-style:none;">
<dt style="list-style:none;">文字滚动示例(向右):</dt>
<dd><marquee direction="right" scrolldelay="500">我向右滚动。。。。</marquee></dd>
</dl>
<dl style="list-style:none;">
<dt style="list-style:none;">文字滚动示例(默认方向,滚动方式为alternate,循环3次,速度为2):</dt>
<dd><marquee scrollamount="2" behavior="alternate" loop="3">我来回滚动。。。。</marquee></dd>
</dl>
<dl style="list-style:none;">
<dt style="list-style:none;">文字滚动示例(向上,背景色为#CCFF66,设置了背景宽度和高度):</dt>
<dd><marquee direction="up" bgcolor="#CCFF66" width="250" height="55">我在区域内滚动,向上哟。。。。</marquee></dd>
</dl>
</div>
展示效果:
- 文字滚动示例(默认):
- 文字滚动示例(向右):
- 文字滚动示例(默认方向,滚动方式为alternate,循环3次,速度为2):
- 文字滚动示例(向上,背景色为#CCFF66,设置了背景宽度和高度):
- 鼠标悬停效果(向上,背景色为#CCFF66,设置了背景宽度和高度):
文字无缝滚动
涉及知识点
- innerHTML
- scrollTop:被隐藏在内容区域上方的空间大小。此属性可改变元素的滚动位置。
- offsetHeight: 元素在垂直方向上占用的空间大小(元素height+水平滚动条高度+元素边框高度*2);
- setInterval()
- clearInterval()
无缝滚动原理
案例
1 | <div id="mooc"> |
1 | 省略 |
1 | window.onload=function(){ |
间歇性无缝滚动
间歇性无缝滚动原理
案例
HTML及CSS代码和上面的案例几乎一样,故省略1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25window.onload=function(){
var area = document.getElementById('moocBox');
var iliHeight = 24;//单行滚动的高度
var speed = 50;//滚动的速度
var time;
var delay= 2000;
area.scrollTop=0;
area.innerHTML+=area.innerHTML;//克隆一份一样的内容
function startScroll(){
time=setInterval(scrollUp,speed);
area.scrollTop++;
}
function scrollUp(){
if(area.scrollTop % iliHeight==0){
clearInterval(time);
setTimeout(startScroll,delay);
}else{
area.scrollTop++;
if(area.scrollTop >= area.scrollHeight/2){
area.scrollTop =0;
}
}
}
setTimeout(startScroll,delay); //初始化
}