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


Posted in Javascript onJanuary 18, 2013

现在很多网站都有这样的一个效果,当页面滚动到一定高度时,菜单栏会固定在页面顶部。其实就是改变 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 相关文章推荐
jquery $.ajax入门应用二
Nov 19 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
MyEclipse取消验证Js的两种方法
Nov 14 Javascript
JavaScript中数组继承的简单示例
Jul 29 Javascript
JS截取字符串实例详解
Nov 24 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
微信小程序之蓝牙的链接
Sep 26 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
vue3.0生命周期的示例代码
Sep 24 Javascript
js+数组实现网页上显示时间/星期几的实用方法
Jan 18 #Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
Jan 18 #Javascript
js replace正则表达式应用案例讲解
Jan 17 #Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
Jan 17 #Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
Jan 17 #Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 #Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 #Javascript
You might like
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
Python中的getopt函数使用详解
2015/07/28 Python
Python 的描述符 descriptor详解
2016/02/27 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
python中的闭包函数
2018/02/09 Python
详解Django中间件执行顺序
2018/07/16 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
python简单区块链模拟详解
2019/07/03 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
python实现控制台输出颜色
2021/03/02 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
美国购车网站:TrueCar
2016/10/19 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
毕业生就业协议书
2014/04/11 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
就业意向协议书
2015/01/29 职场文书
美丽的大脚观后感
2015/06/03 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
慰问信(范文3篇)
2019/10/23 职场文书