javascript改变position值实现菜单滚动至顶部后固定

 更新时间:2013年01月18日 18:22:13   作者:  
现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部;该效果在 ie6 下不支持,因为ie6不支持 position:fixed,效果很不错,感兴趣的朋友可以了解下啊
现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部。其实就是改变 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 知识,随意写的一些效果。

相关文章

  • 深入理解javascript中的 “this”

    深入理解javascript中的 “this”

    本文主要介绍了javascript中“this”的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • EasyUi中的Combogrid 实现分页和动态搜索远程数据

    EasyUi中的Combogrid 实现分页和动态搜索远程数据

    jquery easyui中的combogrid比较特殊,算是combo和grid的组合,combogrid结合一个可编辑的文本框和下拉数据网格面板,可以让用户迅速找到并选择,又可以进行搜索,展示与当前输入的字符相匹配的数据。下面给大家介绍EasyUi中的Combogrid 实现分页和动态搜索远程数据
    2016-04-04
  • JavaScript中的await/async的作用和用法

    JavaScript中的await/async的作用和用法

    await/async 是 ES7 最重要特性之一,它是目前为止 JS 最佳的异步解决方案了。这篇文章主要介绍了JavaScript中的await/async的作用和用法的相关资料
    2016-10-10
  • webpack.DefinePlugin与cross-env区别详解

    webpack.DefinePlugin与cross-env区别详解

    这篇文章主要介绍了webpack.DefinePlugin与cross-env区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • p5.js码绘“跳动的小正方形”的实现代码

    p5.js码绘“跳动的小正方形”的实现代码

    这篇文章主要介绍了p5.js码绘“跳动的小正方形”,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 微信小程序账号密码登入和传值的实现方法

    微信小程序账号密码登入和传值的实现方法

    传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录,下面这篇文章主要给大家介绍了关于微信小程序账号密码登入和传值的实现方法,需要的朋友可以参考下
    2022-04-04
  • JavaScript+canvas实现框内跳动小球

    JavaScript+canvas实现框内跳动小球

    这篇文章主要为大家详细介绍了JavaScript+canvas实现框内跳动小球,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 处理JavaScript值为undefined的7个小技巧

    处理JavaScript值为undefined的7个小技巧

    这篇文章主要介绍了处理JavaScript值为undefined的7个小技巧,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Bootstrap基本样式学习笔记之标签(5)

    Bootstrap基本样式学习笔记之标签(5)

    这篇文章主要介绍了Bootstrap学习笔记之标签基本样式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • javascript 验证码生成代码 推荐学习

    javascript 验证码生成代码 推荐学习

    非常不错的用javascript实现的验证码实现代码。
    2009-07-07

最新评论