大家好,我要创建一个顶部导航,因为一些原因必须使用绝对定位。但是当滚动条往下的时候,这个导航条会闪动的很累还。代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
<style>
body, html {
padding:0;
margin: 0;
width: 100%;
height: 100%;
position: relative;
}
#top {
position: absolute;
left:0;
top:0;
height: 20px;
width: 100%;
background-color: red;
}
#body {
width: 100%;
height: 150%;
background-color: yellow;
}
</style>
</head>
<body>
<div id="top"></div>
<div id="body"></div>
</body>
<script>
var doc = document;
var Dtop = doc.getElementById('top');
var dBody = doc.getElementById('body');
function getScrollTop(){
var scrollTop=0;
if(document.documentElement&&document.documentElement.scrollTop)
{
scrollTop=document.documentElement.scrollTop;
}
else if(document.body)
{
scrollTop=document.body.scrollTop;
}
return scrollTop;
}
window.addEventListener('scroll', function(e){
var e = window.event || e;
var scrollTop = getScrollTop();
Dtop.style.top = scrollTop + 'px'
})
</script>
</html>
求解决方法,谢谢
两种方案
两种做法都不需要 js 的参与。
和题主沟通,得知因为安卓手机支持 position fixed 有问题,所以才只使用 absolute。我翻到一篇关于这个的老文章,有兴趣的朋友看看。
Easy CSS fix for fixed positioning on Android 2.2 and 2.3