javascript改动position值达成菜单滚动至最上部后一

作者: 关于计算机  发布:2019-09-15

于今数不完网址都有那般的五个效率,当页面滚动到早晚中度时,菜单栏会牢固在页面顶端。其实正是退换position 的值。
html 代码

复制代码 代码如下:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="css/base.css" media="all"/>
<style type="text/css">
.wrapper{width:1000px;height:2000px;margin-left:auto;margin-right:auto;}
.header{height:150px;}
#nav{padding:10px;position:relative;top:0;background:black;width:1000px;}
a{display:inline-block;margin:0 10px;*display:inline;zoom:1;color:white;}
</style>
</head>
<body>
<div class="wrapper">
<div class="header"></div>
<div id="nav">
<a href="#">11111</a>
<a href="#">22222</a>
<a href="#">33333</a>
<a href="#">44444</a>
<a href="#">55555</a>
</div>
</div>
</body>
</html>
<script type="text/javascript" src="menuFixed.js"></script>
<script type="text/javascript">
window.onload = function(){
menuFixed('nav');
}
</script>

menuFixed.js 代码

复制代码 代码如下:

function menuFixed(id){
var obj = document.getElementById(id);
var _getHeight = obj.offsetTop;
window.onscroll = function(){
changePos(id,_getHeight);
}
}
function changePos(id,height){
var obj = document.getElementById(id);
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if(scrollTop < height){
obj.style.position = 'relative';
}else{
obj.style.position = 'fixed';
}
}

最终索要表明的是,该意义在 ie6 下不帮忙,因为 ie6 不扶助position:fixed;
PS:那是本身闲着粗俗,通过协和所学的 javascript 知识,随便写的一部分职能。

你也许感兴趣的稿子:

  • js完美消除IE6不扶助position:fixed的bug
  • javascript ie6包容position:fixed完结思路
  • IE6中使用position导致页面变形的消除方案(js代码)
  • javascript contains和compareDocumentPosition 方法来分明是还是不是HTML节点间的涉及
  • 透过JS 获取Mouse Position(鼠标坐标)的代码
  • JS中固定 position 的应用实例代码

本文由今晚开什么码发布于关于计算机,转载请注明出处:javascript改动position值达成菜单滚动至最上部后一

关键词: