JS实现自动固定顶部的悬浮菜单栏效果


Posted in Javascript onSeptember 16, 2015

本文实例讲述了JS实现自动固定顶部的悬浮菜单栏效果。分享给大家供大家参考。具体如下:

这是一款自动固定顶部的悬浮菜单栏代码,不管你如何拉动滚动条,它会始终显示在网页的最顶部,用作网站的顶级导航或公告之类的比较合适吧。

运行效果截图如下:

JS实现自动固定顶部的悬浮菜单栏效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>自动固定顶部的悬浮菜单栏代码</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
*{margin:0;padding:0;}
ul,li{list-style:none;}
#content{width:600px;margin:0 auto;border:1px solid #f00;}
ul li.item{width:400px;text-align:center;margin:20px 100px;background:#00f;color:#fff;font-size:14px;font-weight:bold;height:100px;line-height:100px;}
#float_banner{position:absolute;top:0;left:50%;width:900px;margin-left:-450px;height:30px;line-height:30px;text-align:center;background:#000;color:#fff;font-size:14px;font-weight:bold;z-index:2;}
</style>
</head>
<body>
<div id="float_banner">这里是顶部的横幅,随着页面滚动而浮动</div> 
<ul id="content">
 <li class="item">第一块内容</li>
 <li class="item">第二块内容</li>
 <li class="item">第三块内容</li>
 <li class="item">第四块内容</li>
 <li class="item">第五块内容</li>
 <li class="item">第六块内容</li>
 <li class="item">第七块内容</li>
 <li class="item">第八块内容</li>
 <li class="item">第九块内容</li>
 <li class="item">第十块内容</li>
</ul>
<script language="javascript">
var speed = 100;
var scrollTop = null;
var hold = 0;
var float_banner;
var pos = null;
var timer = null;
var moveHeight = null;
float_banner = document.getElementById("float_banner");
window.onscroll=scroll_ad;
function scroll_ad(){
 scrollTop = document.documentElement.scrollTop+document.body.scrollTop;
 pos = scrollTop - float_banner.offsetTop;
 pos = pos/10
 moveHeight = pos>0?Math.ceil(pos):Math.floor(pos);
 if(moveHeight!=0){
  float_banner.style.top = float_banner.offsetTop+moveHeight+"px";
  setTimeout(scroll_ad,speed);
 }
//alert(scrollTop);
}
</script>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
一个简单的JavaScript 日期计算算法
Sep 11 Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
详解Vue 开发模式下跨域问题
Jun 06 Javascript
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
微信小程序开发的基本流程步骤
Jan 31 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
vue学习笔记之slot插槽用法实例分析
Feb 29 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 03 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 Javascript
jQuery图片轮播滚动切换代码分享
Apr 20 #Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 #Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 #Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 #Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
Sep 16 #Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 #Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
Sep 16 #Javascript
You might like
PHP数字格式化
2006/12/06 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
js的三种继承方式详解
2017/01/21 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
python中__slots__用法实例
2015/06/04 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
2014教师党员自我评议(5篇)
2014/09/20 职场文书
飞越疯人院观后感
2015/06/09 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
Python学习之异常中的finally使用详解
2022/03/16 Python