顶级对象:window
onload = function(){}
getElementById('nav').offsetHieght //获取div=nav元素,距离html顶部元素的距离,同类型的还有offsetLeft,offsetRight.offsetBottom
页面滚动事件:
<body>
<div class="top" id="top"></div>
<div class="nav" id="nav"></div>
<div class="main-body" id="menu">
<img src="images/img1.jpg" alt="">
</div>
<div class="footer"></div>
<script type="text/javascript">
/*页面滚动事件*/
window.onscroll = function () {
if(document.documentElement.scrollTop >= document.getElementById('top').offsetHeight ){
document.getElementById('nav').className = 'nav navfix'
document.getElementById('menu').style.marginTop="40px"
}else{
document.getElementById('nav').className = 'nav'
document.getElementById('menu').style.marginTop="0px"
}
}
//==============================================
//document.documentElement.scrollTop 滚动条移动的距离
//document.getElementById('top').offsetHeight 导航上面top的高度。offsetHeight获取,知道固定高度的可以直接用数值代替
//document.getElementById('nav').className = 'nav navfix' .className= ,给选定的元素添加css样式
//document.getElementById('nav').className = 'nav'
//document.getElementById('main-body').style.marginTop="40px" 40为nav的高度,为了解决bug,也可以设置为
//其中.nav{ 100%; height:40px; background:blue;}
//.navifx{ position:fixed; top:0px; }
</script>
/*CSS样式*/
/*============================
body{
background: pink;
margin:0px;
padding:0px;
}
.top{
100%;
height:80px;
background:#ccc;
}
.nav{
100%;
height:40px;
background:cornflowerblue;
}
.main-body{
height:1600px;
}
.footer{
100%;
height:120px;
background:pink;
}
.navfix{
position:fixed;
top:0px;
}
=============================*/