js滚动刷屏小实例
2016-11-23 15:12
405 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
line-height: 40px;
border: 1px solid red;
}
</style>
<body>
<div>第1屏</div>
<div>第2屏</div>
<div>第3屏</div>
<div>第4屏</div>
<div>第5屏</div>
<div>第6屏</div>
<div>第7屏</div>
<div>第8屏</div>
<div>第9屏</div>
<div>第10屏</div>
<div>第11屏</div>
<div>第12屏</div>
<div>第13屏</div>
<div>第14屏</div>
<div>第15屏</div>
<div>第16屏</div>
<div>第17屏</div>
<div>第18屏</div>
<div>第19屏</div>
<div>第20屏</div>
<div>第21屏</div>
<div>第22屏</div>
<div>第23屏</div>
<div>第24屏</div>
<div>第25屏</div>
<div>第26屏</div>
<div>第27屏</div>
<div>第28屏</div>
<div>第29屏</div>
<div>第30屏</div>
</body>
<script type="text/javascript">
//1.获取 元素
var div = document.getElementsByTagName('div');
//2.自定义方法获取元素到页面的距离
function offset(element) {
//3.1获取当前元素的offsetTop
var pos = {left:0,top:0};
//3.2获取元素有定位的父级的位置
var parents = element.offsetParent;
//3.3先加上自己的left top
pos.left += element.offsetLeft;
pos.top += element.offsetTop;
while(parents && !/html|body/i.test(parents.tagName)) {
pos.top += parents.offsetTop;
pos.left += parents.offsetLeft;
parents = parents.offsetParent;
}
return pos
}
//3.添加滚动事件
window.onscroll = function(){
//4.获取滚动条位置
var sTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log(sTop);
//5.遍历div
for(var i = 0; i<div.length;i++){
//6.获取当前元素的位置
var top1 = offset(div[i]).top;
//7. 如果滚动条位置大于等于当前元素位置 说明到了这个位置
if(sTop>=top1){
//8.变颜色
div[i].style.background='pink';
}else{
div[i].style.background = '';
}
}
}
</script>
</html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
line-height: 40px;
border: 1px solid red;
}
</style>
<body>
<div>第1屏</div>
<div>第2屏</div>
<div>第3屏</div>
<div>第4屏</div>
<div>第5屏</div>
<div>第6屏</div>
<div>第7屏</div>
<div>第8屏</div>
<div>第9屏</div>
<div>第10屏</div>
<div>第11屏</div>
<div>第12屏</div>
<div>第13屏</div>
<div>第14屏</div>
<div>第15屏</div>
<div>第16屏</div>
<div>第17屏</div>
<div>第18屏</div>
<div>第19屏</div>
<div>第20屏</div>
<div>第21屏</div>
<div>第22屏</div>
<div>第23屏</div>
<div>第24屏</div>
<div>第25屏</div>
<div>第26屏</div>
<div>第27屏</div>
<div>第28屏</div>
<div>第29屏</div>
<div>第30屏</div>
</body>
<script type="text/javascript">
//1.获取 元素
var div = document.getElementsByTagName('div');
//2.自定义方法获取元素到页面的距离
function offset(element) {
//3.1获取当前元素的offsetTop
var pos = {left:0,top:0};
//3.2获取元素有定位的父级的位置
var parents = element.offsetParent;
//3.3先加上自己的left top
pos.left += element.offsetLeft;
pos.top += element.offsetTop;
while(parents && !/html|body/i.test(parents.tagName)) {
pos.top += parents.offsetTop;
pos.left += parents.offsetLeft;
parents = parents.offsetParent;
}
return pos
}
//3.添加滚动事件
window.onscroll = function(){
//4.获取滚动条位置
var sTop = document.documentElement.scrollTop || document.body.scrollTop;
console.log(sTop);
//5.遍历div
for(var i = 0; i<div.length;i++){
//6.获取当前元素的位置
var top1 = offset(div[i]).top;
//7. 如果滚动条位置大于等于当前元素位置 说明到了这个位置
if(sTop>=top1){
//8.变颜色
div[i].style.background='pink';
}else{
div[i].style.background = '';
}
}
}
</script>
</html>
相关文章推荐
- 两个JS无缝滚动的实例
- js页面滚动浮动层智能定位(jQuery)实例页面
- JS实现倒计时和文字滚动的效果实例
- js网页滚动条滚动事件实例分析
- js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)
- js左右滚动实例(2009年8月11)
- 基于JS实现新闻列表无缝向上滚动实例代码
- js 下拉底部加载|滑轮滚动到页面底部ajax加载数据的实例
- js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
- iscroll.js--滚动加载实例
- js页面滚动浮动层智能定位(MooTools)实例页面
- js图片向右一张张滚动效果实例代码
- js图片向右一张张滚动效果实例代码
- JS实现倒计时和文字滚动的效果实例
- JS小功能(offsetLeft实现图片滚动效果)实例代码
- js左右滚动实例
- js 文本滚动效果的实例代码
- JS小功能(offsetLeft实现图片滚动效果)实例代码
- js图片滚动实例
- js页面滚动浮动层智能定位(jQuery)实例页面