js的window.onscroll事件兼容各大浏览器

Posted 黄鹂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js的window.onscroll事件兼容各大浏览器相关的知识,希望对你有一定的参考价值。

为窗口添加滚动条事件其实非常的简单,
window.onscroll=function(){};
注意在获取滚动条距离的时候
谷歌不识别document.documentElement.scrollTop,必须要加上document.body.scrollTop;即
var scrolltop=document.documentElement.scrollTop||document.body.scrollTop;
这样才能兼容各个浏览器!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#box{ height:50px; width:200px; background:#666; position:absolute; left:0px; top:0px;}
</style>
</head>
<body style="height:9000px;">
 
<div id="box"></div>
 
<script language="javascript">
window.onscroll = function(e){
var e =e || window.event;
var scrolltop=document.documentElement.scrollTop||document.body.scrollTop;
 
var box = document.getElementById(box);
box.style.top = scrolltop+px;
//console.log(scrolltop);
}
</script>
 
</body>
</html>

 

以上是关于js的window.onscroll事件兼容各大浏览器的主要内容,如果未能解决你的问题,请参考以下文章

两种监听页面滚动的方法

监听页面滚动及滚动到指定位置

js测试题

阻止默认事件,滚轮事件与滚动事件

onscroll 元素滚动事件

react使用window.onscroll不起作用的问题