美文网首页
stickup应用

stickup应用

作者: 书中有凉气 | 来源:发表于2017-01-01 11:16 被阅读0次

    单个菜单栏固定

    预览:https://jirengu-inc.github.io/jrg-renwu8/homework/张轩/renwu28-1.html
    源码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>renwu28</title>
      <script src='http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js'></script>
      <style>
        *{
          margin: 0px;
          padding: 0px;
        }
        .title{
          height: 200px;
          background-color: #660;
          margin: 10px;
        }
        .menu{
          height: 50px;
          background-color: #328;
          margin: 10px;
        }
        .full{
          margin: 10px;  
        }  
        .left{
          float: left;
          min-height: 400px;
          width: 200px;
          background-color: #656;
        }
        .main{
          min-height: 1000px;
          background-color: #606;
          margin-left: 210px;
          overflow: auto;
        }
      </style>
    </head>
    <body>
      <div class="title">标题</div>
      <div class="menu">菜单栏</div>
      <div class="full">
        <div class="left">侧边栏</div>
        <div class="main clear">主要内容</div>
      </div>
      
      <script>
        var $menu=$('.menu'),
            $full=$('.full'),
            $menuH=$menu.offset().top,
            $menuL=$menu.offset().left,
            $menuclone=$menu.clone().css({display: 'none'}).insertBefore($menu);    
        
        $(window).on('scroll', function(){
            if($(this).scrollTop()>= $menuH){
                if(!statefix()){
                    startfix();
                    $menu.data('state',1);
                }
            }
            else{
                if(!!statefix()){
                    stopfix();
                    $menu.data('state',0);
                }
            }
        })
        function statefix(){
            return $menustate=$menu.data('state');
        }
        
        function startfix(){
            $menuclone.css({
                position:'fixed',
                top:0,
                width:$menu.width(),
            })
            $menuclone.show();
            $menu.css({
                opacity:'0',
            })
        }
        function stopfix(){
            $menuclone.hide();
            $menu.css({
                opacity:'1',
            })
        }
        
      </script>
    </body>
    </html>
    
    

    多菜单栏固定

    预览:https://jirengu-inc.github.io/jrg-renwu8/homework/张轩/renwu28-2.html
    源码:

    
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>renwu28</title>
      <script src='http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js'></script>
      <style>
        *{
          margin: 0px;
          padding: 0px;
        }
        .title{
          height: 200px;
          background-color: #660;
          margin: 10px;
        }
        .menu{
          height: 50px;
          background-color: #328;
          margin: 10px;
        }
        .full{
          margin: 10px;  
        }  
        .left{
          float: left;
          min-height: 400px;
          width: 200px;
          background-color: #656;
        }
        .main{
          min-height: 1000px;
          background-color: #606;
          margin-left: 210px;
          overflow: auto;
        }
        .grey{
            background-color: grey;
        }
      </style>
    </head>
    <body>
      <div class="title">标题</div>
      <div class="menu">菜单栏</div>
      <div class="full">
        <div class="left">侧边栏</div>
        <div class="main clear">主要内容</div>
      </div>
      <div class="menu grey">菜单栏</div>
      <div class="full">
        <div class="left">侧边栏</div>
        <div class="main clear">主要内容</div>
      </div>
      
      <script>
      $('.menu').each(function(){
        var $menu=$(this),
            $full=$('.full'),
            $menuH=$menu.offset().top,
            $menuL=$menu.offset().left,
            $menuclone=$menu.clone().css({display: 'none'}).insertBefore($menu);    
        
        $(window).on('scroll', function(){
            if($(this).scrollTop()>= $menuH){
                if(!statefix()){
                    startfix();
                    $menu.data('state',1);
                }
            }
            else{
                if(!!statefix()){
                    stopfix();
                    $menu.data('state',0);
                }
            }
        })
        function statefix(){
            return $menustate=$menu.data('state');
        }
        
        function startfix(){
            $menuclone.css({
                position:'fixed',
                top:'0',
                width:$menu.width(),
                'z-index':'100'
            })
            $menuclone.show();
            $menu.css({
                opacity:'0',
            })
        }
        function stopfix(){
            $menuclone.hide();
            $menu.css({
                opacity:'1',
            })
        }
    
    })  
      </script>
    </body>
    </html>
    
    

    相关文章

      网友评论

          本文标题:stickup应用

          本文链接:https://www.haomeiwen.com/subject/wcjuvttx.html