效果截图:

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. Lucene如何实现多条件搜索?

    有两种方式可以实现, 一是:Lucene搜索API中提供了一个布尔查询器(BooleanQuery),它可以包含多个查询器,每个查询器Occur枚举控制是“and” 还是“or” BooleanQue ...

  2. Verilog 初级入门概念

    首先我们要理解两种变量类型 Net Type(连线型)和 Register Type (寄存器型): Net Type(连线型),从名字上理解就是“导线”呗,导线的这头和导线的另一头始终是直接连通的, ...

  3. Virtual Host on Apache(Apache上建立虚拟主机)

    0. Introduction Usually, we want to build two or more websites on a web server, but we have only one ...

  4. Django笔记 —— 模型高级进阶

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  5. Java之枚举笔记(Enum)

    package com.simope.ljm; public class MyEnum { public static void main(String[] args) { System.out.pr ...

  6. Unity3d脚本生命周期

    如图: 测试脚本: using UnityEngine; public class Test2 : MonoBehaviour { void Awake() { Debug.Log("Awa ...

  7. 「日常训练」「小专题·USACO」 Barn Repair(1-4)

    题意 之后补. 分析 这题同样也很精巧.我们不妨思考一下,如果只允许用一块木板,那么要购买多少距离?是整个的距离吗?不是,是从第一个到最后一个(哈哈哈哈哈哈哈).但是,不包括第一个的"左边& ...

  8. 「日常训练」Single-use Stones (CFR476D2D)

    题意(Codeforces 965D) $w$表示河的宽度,$l$表示青蛙所能跳的最远的距离,第二行的$w-1$个元素表示离河岸为$i$的地方有$a[i]$个石头,一个石头被踩两次,问最多有多少只青蛙 ...

  9. [leetcode-646-Maximum Length of Pair Chain]

    You are given n pairs of numbers. In every pair, the first number is always smaller than the second ...

  10. 软工实践 - 第二十八次作业 Beta 冲刺(6/7)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10146478.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...