JS 自动固定顶部的悬浮菜单栏代码

View Code
<!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>


eg2:

View Code
<!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>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 <title>顶部固定菜单</title>
 <style type="text/css">
 *{ margin:0; padding:0;}
 .nav-wrapper-fixed{ position:fixed; top:0; width:100%;}
 .nav-wrapper-fixed .nav{width:960px; margin:0 auto;}
 .nav-wrapper-fixed .nav li{ float:left; width:100px; margin-right:5px; background:#CCC; text-align:center; height:24px; line-height:24px; list-style:none;}
 .nav-wrapper{ margin-top:100px; width:100%;}
 .nav-wrapper .nav{width:960px; margin:0 auto;}
 .nav-wrapper .nav li{ float:left; width:100px; margin-right:5px; background:#CCC; text-align:center; height:24px; line-height:24px; list-style:none;}
 </style>
 <script type="text/javascript">
     window.onload = function () {
         var nav = document.getElementById('nav');
         var navFixed = document.getElementById('navFixed');
         window.onscroll = function () {
             var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
             document.title = scrollTop
             if (scrollTop > nav.offsetTop) {
                 navFixed.style.display = 'block';
             } else if (scrollTop < nav.offsetTop) {
                 navFixed.style.display = 'none';
             }
         }
     };
 </script>
 </head>
 <body style="height:2000px;">
 <div class="nav-wrapper">
     <div class="nav" id="nav">
         <ul>
             <li>菜单一</li>
             <li>菜单二</li>
             <li>菜单三</li>
             <li>菜单四</li>
             <li>菜单五</li>
         </ul>
     </div>
 </div>
 <div class="nav-wrapper-fixed" id="navFixed" style="display:none;">
     <div class="nav" id="nav">
         <ul>
             <li>菜单一</li>
             <li>菜单二</li>
             <li>菜单三</li>
             <li>菜单四</li>
             <li>菜单五</li>
         </ul>
     </div>
 </div>
 </body>
 </html>

 

eg3:

View Code
  $(function () {
        var elm = $('#pordAttr');
        var startPos = $(elm).offset().top;
        $.event.add(window, "scroll", function () {
            var p = $(window).scrollTop();
            $(elm).css('position', ((p) > startPos) ? 'fixed' : 'static');
            $(elm).css('top', ((p) > startPos) ? '0px' : "");
        });
    });

 获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative。

转载于:https://www.cnblogs.com/weixing/archive/2013/04/12/3016637.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值