HTML+JS实现网站公告信息滚动显示
一、可以直接使用marquee标签来实现
注意:
这个标签首先在早期的IE版本中加进来,后来逐渐被其他浏览器支持,W3C的不建议使用它。
<marquee>在HTML和HTML5中都属于废弃的特性,建议不要使用这个标签,建议使用JS实现。
该标签的相关属性:
align设定标签内容的对齐方式
absbottom:绝对底部对齐(与g、p等字母的最下端对齐)
absmiddle:绝对中央对齐
baseline:底线对齐
bottom:底部对齐(默认)
left:左对齐
middle:中间对齐
right:右对齐
texttop:顶线对齐
top:顶部对齐
direction设定活动字幕的滚动方向,默认为left
up:向上
down:向下
left:向左
right:向右
behavior设定滚动的方式,默认为scroll
scroll:表示由一端滚动到另一端,循环滚动。
alternate:表示在两端之间来回交替进行滚动。
slide:表示由一端滚动到另一端,只滚动一次就停止。
scrollamount设定活动字幕的滚动速度,单位pixels(像素)。
scrolldelay设定活动字幕滚动两次之间的延迟时间,单位millisecond(毫秒)。
loop设定滚动的次数,当loop=-1表示一直滚动下去,默认为-1。
width、height规定滚动字幕的矩形区域的宽度和高度。
bgcolor设定滚动范围内的背景颜色,背景颜色可用RGB、16进制值的格式或颜色名称来设定。
hspace设定活动字幕里所在的位置距离父容器水平边框的距离,即滚动范围左右的空白空间。
vspace设定活动字幕里所在的位置距离父容器垂直边框的距离,即滚动范围上下的空白空间。
onMouseOut="this.start();" 鼠标移开后开始滚动。
onMouseOver="this.stop();" 鼠标放上去后停止滚动。
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>marquee标签滚动</title>
</head>
<body>
<div>
<marquee align="right"
direction="up"
behavior="scroll"
scrollamount="10"
scrolldelay="0"
loop="-1"
width="1000"
height="30"
bgcolor="#0099FF"
hspace="10"
vspace="10"
onMouseOut="this.start();"
onMouseOver="this.stop();">
这里是滚动的内容
</marquee>
</div>
</body>
</html>
上面的代码实现的滚动不是无缝滚动,添加contenteditable="true" onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;"可以实现首尾相连的滚动效果(无缝滚动),但是仅IE有效,其他浏览器还是首尾不连的,示例代码如下:
<marquee behavior="scroll"
contenteditable="true"
onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;"
scrollamount="3"
width="100">
这里是要滚动的内容
</marquee>
二、使用js来控制滚动内容,可以直接实现无缝滚动
用到的DOM对象属性:
innerHTML: 设置或获取位于对象起始和结束标签内的 HTML。
scrollHeight: 获取对象的滚动高度。
scrollLeft: 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
scrollTop: 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
scrollWidth: 获取对象的滚动宽度。
offsetHeight: 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
offsetLeft: 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。
offsetTop: 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。
offsetWidth: 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。
setInterval(code,millisec)方法可按照指定的周期(以毫秒计)来调用函数或计算表达式,会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。参数 code 必需。要调用的函数或要执行的代码串。参数 millisec 必需。周期性执行或调用 code 之间的时间间隔,以毫秒计。 返回值是一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
示例代码:
<!DOCTYPE html>
<html>
<head>
<title>横向无缝滚动</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>站内公告</div>
<hr/>
<div id="demo" style="overflow: hidden; width: 860px; align: center">
<table cellspacing="0" cellpadding="0" align="center" border="0">
<tbody>
<tr>
<td id="marquePic1" valign="top">
<table width="1800px">
<tr>
<td>第1个单元格</td>
<td>第2个单元格</td>
<td>第3个单元格</td>
<td>第4个单元格</td>
<td>第5个单元格</td>
<td>第6个单元格</td>
<td>第7个单元格</td>
<td>第8个单元格</td>
<td>第9个单元格</td>
<td>第10个单元格</td>
</tr>
</table>
</td>
<td id="marquePic2" valign="top">
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<script type="text/javascript">
//横向滚动 需要设置div的宽度
var speed=30
marquePic2.innerHTML=marquePic1.innerHTML
function Marquee(){
if(demo.scrollLeft>=marquePic1.scrollWidth){
demo.scrollLeft=0
}else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
<!DOCTYPE html>
<html>
<head>
<title>纵向无缝滚动</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>站内公告</div>
<hr/>
<div id="demo" style="OVERFLOW: hidden; height: 100px;">
<div id="marquePic1">
第1行<br/>
第2行<br/>
第3行<br/>
第4行<br/>
第5行<br/>
第6行<br/>
第7行<br/>
第8行<br/>
第9行<br/>
第10行
</div>
<div id="marquePic2" valign="top">
</div>
</div>
</body>
</html>
<script type="text/javascript">
//纵向滚动 需要设置div的高度
var speed=30
marquePic2.innerHTML=marquePic1.innerHTML
function Marquee(){
if(demo.scrollTop>=marquePic1.scrollHeight){
demo.scrollTop=0
}else{
demo.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
HTML+JS实现网站公告信息滚动显示的更多相关文章
- jquery实现公告上下滚动显示
js: // JavaScript Documentfunction b(){ t = parseInt(x.css('top')); y.css('top','19px'); x.animate({ ...
- MSClass 和setInterval 的并发,ajax定时有采集信息滚动显示
setTimeout 用于延时器,只执行一次. setInterval:用于多次执行. //****************************************** 项目中引用到jquer ...
- jquery 页眉单行信息滚动显示
JSP: 下面是控制滚动的样式.将滚动的内容查询出来.放在一个div 或者别的容器里面,我这里使用的是<dt> <style> #newCglist{width:300px;h ...
- 黄聪:360、chrome开发插件扩展如何跨域调用其他网站的信息并且显示在扩展、tab中的api
chrome插件提供了查找tab的api chrome.tabs.get(integer tabId, function callback) 但是出于安全的考虑,tab的属性中没有document 因 ...
- JS写四个图片滚动显示的效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS学习笔记之页面信息滚动效果
效果截图: 1.无缝滚动效果 JS代码: <script> window.onload=function(){ var oInfobox=document.getElementById(' ...
- JS魔法堂:通过marquee标签实现信息滚动效果
一.前言 有限的空间展现无限的内容,这是滚动最常用到的地方.根据信息滚动效果我们可以有很多的实现方式,但HTML自带的 marquee标签 是其中一个较简单的实现方式.下面记录一下,供日后查阅. ...
- JS实现信息的显示和隐藏
JS实现信息的显示和隐藏 我们在写注册页面的时候,必填信息是可见的,可选信息是隐藏的,如果用户希望填写,可以单击“详细信息”. 代码如下:<!DOCTYPE html><html&g ...
- scrollReveal.js – 页面滚动显示动画JS
简介 和 WOW.js 一样,scrollReveal.js 也是一款页面滚动显示动画的 JavaScript ,能让页面更加有趣,更吸引用户眼球.不同的是 WOW.js 的动画只播放一次,而 ...
随机推荐
- C#面向对象架构总结
优秀的程序从命名开始,命名规则1.类名方法名需要见名知意.2.类的字段统统首字母小写并且封装仅供本类使用,并提供属性供外界使用,属性名开头大写,如果名字与类名冲突,那么在前面加下划线. 面向对象的7大 ...
- cmake 指定连接的opencv版本
我们通常需要使用不同版本的opencv,这时候如果用cmake构建工程,直接指定本地编译好的路径就可以,在CMakeLists.txt中添加: set(OpenCV_DIR "/xxx/wo ...
- quick pdf library控件
quick pdf library库只能在windows环境下运行 1.下载quick pdf library 2.注册控件 进入cmd regsvr32 "C:\Program File ...
- 项目(五)jumpserver企业开源跳板机搭建
跳板机是什么?跳板机是运维堡垒主机的另个称呼.作为技术或者运维人员应该不会陌生.企业为了服务器的安全,通常所有的ssh连接都是通过跳板机来完成,以便于对ssh连接进行验证和管理. 接下来,我来讲述一下 ...
- db2 SQL6036N解决办法
问题背景: 数据库在进行大量的运算和数据处理的过程中,IO.CPU等资源消耗非常高的时候,强制停止数据库.db2stop force 结果数据库命令迟迟没有响应.这个时候对数据库进行其他操作均无响应, ...
- java虚拟机--->>程序计数器
程序计数器是一块较小的内存空间,他可以看做是当前线程所执行的行号指示器.在虚拟机的概念模型(仅是概念模型,各种虚拟机可能会通过一些更高效率的方式去实现)里,字节码解释器工作室就是通过改变这个计数器的值 ...
- Anaconda3(python3.5.2)中安装opencv3
1 安装Visual C++2015 redistributable 我是64位和32的都安装了,如果你电脑中已经安装了17的,就先卸载了,不然安装不上. 2 安装依赖包Numpy.Scipy Num ...
- redis集群密码设置
1.密码设置(推荐)方式一:修改所有Redis集群中的redis.conf文件加入: masterauth passwd123 requirepass passwd123 说明:这种方式需要重新启动各 ...
- 分布式Snowflake雪花算法
前言 项目中主键ID生成方式比较多,但是哪种方式更能提高的我们的工作效率.项目质量.代码实用性以及健壮性呢,下面作了一下比较,目前雪花算法的优点还是很明显的. 优缺点比较 UUID(缺点:太长.没法排 ...
- IMU
(1)用IMU来进行预测 读入一个10/20帧的数据集,通过IMU来初步预测出位姿以及显示其路径. Christian Forster, Luca Carlone, Frank Dellaert, D ...