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 的动画只播放一次,而 ...
随机推荐
- python中类与对象及其绑定方法的定义
面向对象编程 什么是面向对象? 面向过程:将需要解决的问题按步骤划分,一步一步完成每一个步骤,而且 步骤之间有联系. 优点:复杂问题可以分步完成 缺点:扩展性很差,维护性差.如果中间 ...
- 分库工具mysql
sharding-sphere 比mycat 更方便 在于mycat属于中间件,更复杂,但也支持更多功能.查询功能更强.
- mysql修改密码方法
1. 修改密码有三种方法:1.1 ---->用mysqladmin修改密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:# mysqladmin -uroo ...
- linux 大容量磁盘分区工具parted
1. Msdos和Gpt的区别 fdisk :只能分msdos分区parted :可以分msdos和gpt分区 2. MSDOS特点最大支持2TB卷大小.每个磁盘最多只能有4个主分区(或3个主分区, ...
- Java 学习笔记提高篇
Java笔记(提高篇)整理 主要内容: 面向对象 异常 数组 常用类 集合 IO流 线程 反射 Socket编程 1. 面向对象 1.1包 用来管理Java中的类, 类似文件夹管理文件一样. 因 ...
- 关于EL表达式随笔记录
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- CF 225C Barcode(DP)
传送门:点我 You've got an n × m pixel picture. Each pixel can be white or black. Your task is to change t ...
- I/O系统(一)
输入输出系统的发展大致可以分为4个阶段1.早期阶段 特点: 1.1每个IO设备都得有一套独立的逻辑电路和CPU相连. 1.2输入输出过程需要通过CPU,穿插在程序运行的过程中,处理IO时候 ...
- js控制easyui文本框例子及控制html例子
easyui $('#value').textbox('setValue',''); //赋值 $('#value').textbox({required:false});//必填,方框变红 $('# ...
- Xadmin显示视图
.display显示要设置的字段 1. 自定义样式类,显示出要显示的字段,在这个类中,也可以设置对应函数. list_display=[check,"title",delete]2 ...