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 的动画只播放一次,而 ...
随机推荐
- 一个nginx 回源限速的bug处理过程记录
一个生产环境,nginx占用cpu很高. top - :: up day, :, users, load average: 13.26, 13.20, 13.20 Tasks: total, runn ...
- 如何关闭wps热点,如何关闭wpscenter,如何关闭我的wps
用wps已经快十年了,最开始的时候速度快,非常好用,甩office几条街,但最近这几年随着wps胃口越来越大,各种在线功能不断推出,植入广告越来越多,逐渐让人失去欢喜. 通过各种网帖的经验,我把网上流 ...
- 【VBA】ExcelファイルのOpen
※変数の定義を強制する方法: 一番上に.「Option Explicit」を追加して.変数の定義が必須となる. ソース Private Sub CommandButton2_Click() //スクリ ...
- 【python原理解析】python中分片的实现原理及使用技巧
首先:说明什么是序列? 序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引:在python中的序列包含:字符串.列表和元组 然后是:什么是分片? 分片就是通过操作索引访问及获得序列的一个或 ...
- linux下的音量控制器alsamixer 桌面v7
转载 http://blog.sina.com.cn/s/blog_0ca103850102vpml.html 耳机 插后边 line out 耳机插前边 模拟耳机 声卡自带工具 linux下的音量控 ...
- [leetcode]243. Shortest Word Distance最短单词距离
Given a list of words and two words word1 and word2, return the shortest distance between these two ...
- [leetcode]20. Valid Parentheses有效括号序列
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- 交叉编译bash
1 下载bash版本:[version 4.2.53]地址:http://ftp.gnu.org/gnu/bash/ 2 解压将下载的bash压缩包解压,命令: # mkdir /home/carri ...
- Spring事务管理的配置
spring-datasource-config.xml配置事务 <bean id="txManager" class="org.springframework.j ...
- win10系统配置jdk环境不能用%JAVA_HOME% 代替目录
发现以前配好的java环境变量和tomcat环境变量全都清空了,在重新配置的时候总是出现问题,即在cmd命令窗口下,输入java,显示正常,输入java -version 也是显示正常,唯独输入jav ...