效果截图:

1、无缝滚动效果

JS代码:

    <script>
window.onload=function(){
var oInfobox=document.getElementById('infoBox'),
speed=60, //设置速度
timer=null; //设置定时器
oInfobox.innerHTML+=oInfobox.innerHTML; //复制一份内容,无缝滚动
timer=setInterval(scrollUp,speed);
function scrollUp(){
oInfobox.scrollTop=oInfobox.scrollTop+1;
if(oInfobox.scrollTop>=oInfobox.offsetHeight){
//判断元素的滚动高度大于元素本身的高度时,把滚动高度瞬间拉回
oInfobox.scrollTop=0;
}
}
oInfobox.onmouseover=function(){
clearInterval(timer)
}
oInfobox.onmouseout=function(){
timer=setInterval(scrollUp,speed);
}
}
</script>

2、间隔滚动效果

JS代码:

    <script>
window.onload=function(){
var oInfobox=document.getElementById('infoBox'),
oHeight=41,//设置间隔滚动高度
speed=20, //设置速度
timer01=null; //设置setInterval定时器
timer02=null; //设置setTimeout定时器 oInfobox.innerHTML+=oInfobox.innerHTML; //复制一份内容,无缝滚动 function startMove(){
oInfobox.scrollTop++;
timer01=setInterval(scrollUp,speed);
}
function scrollUp(){
if(oInfobox.scrollTop%oHeight==0){
clearInterval(timer01);
timer02=setTimeout(startMove,1000);
}else{
oInfobox.scrollTop++;
if(oInfobox.scrollTop>=oInfobox.offsetHeight){
//判断元素的滚动高度大于元素本身的高度时,把滚动高度瞬间拉回
oInfobox.scrollTop=0;
}
}
}
startMove();
oInfobox.onmouseover=function(){
clearInterval(timer01);
clearTimeout(timer02);
}
oInfobox.onmouseout=function(){
timer01=setInterval(scrollUp,speed);
}
}
</script>

HTML代码:

    <div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">公告信息</div>
</div>
<div class="panel-body">
<div class="infoBox" id="infoBox">
<ul class="list-group">
<li class="list-group-item"><a href="#">1、关于2016年新生入学的通知01</a></li>
<li class="list-group-item"><a href="#">2、关于2016年新生入学的通知02</a></li>
<li class="list-group-item"><a href="#">3、关于2016年新生入学的通知03</a></li>
<li class="list-group-item"><a href="#">4、关于2016年新生入学的通知04</a></li>
<li class="list-group-item"><a href="#">5、关于2016年新生入学的通知05</a></li>
<li class="list-group-item"><a href="#">6、关于2016年新生入学的通知06</a></li>
</ul>
</div>
</div>
</div>
</div>

CSS样式:

    <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<style>
.container{ width: 500px; margin: 60px auto; }
.infoBox{ width:100%; height: 240px; overflow: hidden;}
.list-group{ margin-bottom: 0; border-radius:0;}
.list-group li{ border-radius:0 !important; }
.list-group li:last-child{ border-bottom:0 !important; }
</style>

JS学习笔记之页面信息滚动效果的更多相关文章

  1. Space.js – HTML 驱动的页面 3D 滚动效果

    为了让我们的信息能够有效地沟通,我们需要创建用户和我们的媒体之间的强有力的联系.今天我们就来探讨在网络上呈现故事的新方法,并为此创造了一个开源和免费使用的 JavaScript 库称为 space.j ...

  2. ember.js:使用笔记7 页面中插入效果

    在某些情况下,我们需要根据数据生成某些效果:由于每个模版的controller可能不同,在不同页面之间跳转可能会无法随即更新的问题. controller: 直接使用标签:{{}},适用于在子项目内切 ...

  3. JS魔法堂:通过marquee标签实现信息滚动效果

    一.前言   有限的空间展现无限的内容,这是滚动最常用到的地方.根据信息滚动效果我们可以有很多的实现方式,但HTML自带的 marquee标签 是其中一个较简单的实现方式.下面记录一下,供日后查阅. ...

  4. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  7. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  8. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  9. [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡

    当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...

随机推荐

  1. RedHat安装Oracle后中文乱码

    radhat7.1 Oracle11gr2 安装Oracle时忘记设置字符集,导致安装后中文乱码,中文变成"???????????" 分析原因是Oracle服务器端和客户端的字符集 ...

  2. 仿造vue-resource的formdata传对象

    众插件不支持同步,也是没办法的事情,具体为啥就不分析了,确实搞不懂. 一直用vue-resource的post,觉得很舒服. 然,没办法只能仿造一个,自己提供一个同步方法 几个点先摆清楚 1. .th ...

  3. elasticsearch 关联查询

    父-子关系文档 父-子关系文档 在实质上类似于 nested model :允许将一个对象实体和另外一个对象实体关联起来. 而这两种类型的主要区别是:在 nested objects 文档中,所有对象 ...

  4. Python-类-函数参数-takes 0 positional arguments but 1 was given

    在学习Python基础的时候,在创建某一个shownametest()函数,解析器会报错 TypeError: shownametest() takes 0 positional arguments ...

  5. Python 3基础教程25-异常处理

    在Python中,异常处理,主要是try except语句,通常语法格式如下. try: 代码块1 except Exception as e: print(e) 代码2 接着前面读取CSV文件,如果 ...

  6. 第二篇 Postman的高阶使用之配置全局变量及局部变量的调用及设置方法(手动方法)

    第五篇主要写了关于postman的基本使用,重点是如果发送json请求,为什么要将发送json请求呢, 一是目前大多数的请求已经倾向于发送json格式,二是本人太懒了,不想一个字段一个字段的添加到参数 ...

  7. java设计模式之观察者模式以及在java中作用

    观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式.模型-视图(Model/View)模式.源-监听器(Source/Listener)模式或从属者(Dependen ...

  8. ThinkPHP自定义成功界面、失败界面、异常界面

    在ThinkPHP的手册中,附录里边的配置参考,有一个模板引擎设置. 或者在手册里面的控制器,跳转和重定向里面. 紧接着,就讲到了如何自定义这些界面. 将上诉的配置参数写到到配置文件里,修改路径到自己 ...

  9. 树莓派配置 USB 无线网卡

    树莓派配置 USB 无线网卡来上网的过程. 本人使用的USB无线网卡型号:EP-N8508GS(树莓派专用型号) 一.检查 USB 无线网卡是否已经正确识别 将无线 USB 网卡插入树莓派后启动树莓派 ...

  10. HDU 4587 TWO NODES(割点)(2013 ACM-ICPC南京赛区全国邀请赛)

    Description Suppose that G is an undirected graph, and the value of stab is defined as follows: Amon ...