javascript改变position值实现菜单滚动至顶部后固定
javascript改变position值实现菜单滚动至顶部后固定
发布时间:2016-12-30 来源:查字典编辑
摘要:现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部。其实就是改变position的值。html代码:复制代码代码...

现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部。其实就是改变 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>

<div></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 知识,随意写的一些效果。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类