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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM