JS学习笔记之页面信息滚动效果
效果截图:
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学习笔记之页面信息滚动效果的更多相关文章
- Space.js – HTML 驱动的页面 3D 滚动效果
为了让我们的信息能够有效地沟通,我们需要创建用户和我们的媒体之间的强有力的联系.今天我们就来探讨在网络上呈现故事的新方法,并为此创造了一个开源和免费使用的 JavaScript 库称为 space.j ...
- ember.js:使用笔记7 页面中插入效果
在某些情况下,我们需要根据数据生成某些效果:由于每个模版的controller可能不同,在不同页面之间跳转可能会无法随即更新的问题. controller: 直接使用标签:{{}},适用于在子项目内切 ...
- JS魔法堂:通过marquee标签实现信息滚动效果
一.前言 有限的空间展现无限的内容,这是滚动最常用到的地方.根据信息滚动效果我们可以有很多的实现方式,但HTML自带的 marquee标签 是其中一个较简单的实现方式.下面记录一下,供日后查阅. ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡
当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...
随机推荐
- java基础 -- Collections.sort的两种用法
/** * @author * @version * 类说明 */ package com.jabberchina.test; import java.util.ArrayList; import j ...
- linux mysql root 忘记密码了,完美解决-费元星站长
修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables 保存配置文件后,重启MySQL服务 service mysqld rest ...
- Qt 绘制汽车仪表 指针旋转锯齿问题
在前面几篇中出现的问题 http://blog.csdn.net/z609932088/article/details/53946245 这个是在QWidget下绘制的,出现了指针有锯齿的问题 后面开 ...
- final static 修饰(转载)
static修饰符 static修饰符能够与属性.方法和内部类一起使用,表示静态的.类中的静态变量和静态方法能够与类名一起使用,不需要创建一个类的对象来访问该类的静态成员,所以,stat ...
- Faster RCNN代码解析
1.faster_rcnn_end2end训练 1.1训练入口及配置 def train(): cfg.GPU_ID = 0 cfg_file = "../experiments/cfgs/ ...
- day-12 python实现简单线性回归和多元线性回归算法
1.问题引入 在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.一个带有一个自变 ...
- Spark实战练习03--Pair RDD
一.场景 现有某网站的网站日志,内容为用户对网站的请求,包含user ID.IP address.datetime……等等 另有一份文件中包含用户的账户详细信息数据,包含User ID.creatio ...
- C++STL——堆栈
一.相关定义 原理:stack队列是一个线性存储表,插入和删除只在栈顶进行,从而构成了一个后进先出LIFO表. 入栈&出栈:元素的插入称为入栈,元素的删除称为出栈. stack是一种关联容器, ...
- [boost-3] 函数对象
boost库学习: 函数对象,成为‘高阶函数’,可以呗传入到其他函数或者从其他函数返回的一类函数. Boost.Bind可替换来自c++标准中的std::bind1st()和std::bind2dn( ...
- Linux SPI总线和设备驱动架构之二:SPI通用接口层
通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了 ...