zoukankan      html  css  js  c++  java
  • jQuery固定浮动侧边栏(jQuery fixed Sidebar)

    这个功能现在应用的非常普遍,如果页面比较高,当滚动条拖到页面的下面的时候,侧边栏会出现一个固定跟随浏览器的DIV框,现思路是这样的:首先获取需要跟随的DIV距离页面顶部的距离,然后判断,当浏览器滚动的距离大于该DIV本身距离顶部距离的时候,则添加CSS属性fixed即可。

    代码如下 复制代码
    HTML代码:

    <div id="header">header</div>
    <div id="sidebarWrap">
    <div id="sidebar">Sidebar</div>
    </div>
    <div id="main">Main</div>
    <div id="footer">footer</div>

    CSS代码:
    body {
    margin: 10px auto;
    font-family: sans-serif;
    500px;
    }
    div {
    border-radius: 5px;
    box-shadow: 1px 2px 5px rgba(0,0,0,0.3);
    border: 1px solid #ccc;
    padding: 5px;
    }
    #sidebarWrap {
    height: 400px;
    210px;
    float: right;
    position: relative;
    box-shadow: none;
    border: none;
    margin: 0;
    padding: 0;
    }
    #main {
    270px;
    height: 4000px;
    }
    #footer {
    clear: both;
    margin: 10px 0;
    }
    #sidebar {
    200px;
    height: 300px;
    position: absolute;
    }
    #header {
    height: 200px;
    marg(www.111cn.net)in-bottom: 10px;
    }
    #sidebar.fixed {
    position: fixed;
    top: 0;
    }
    #footer { height: 600px; }
    #footer { height: 600px; }

    JavaScript代码:

    $(function() {
    var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
    var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));

    var maxY = footTop - $('#sidebar').outerHeight();

    $(window).scroll(function(evt) {
    var y = $(this).scrollTop();
    if (y > top) {
    if (y < maxY) {
    $('#sidebar').addClass('fixed').removeAttr('style');
    } else {
    $('#sidebar').removeClass('fixed').css({
    position: 'absolute',
    top: (maxY - top) + 'px'
    });
    }
    } else {
    $('#sidebar').removeClass('fixed');
    }
    });
    });

    from:http://www.111cn.net/wy/jquery/66377.htm

  • 相关阅读:
    C++ 根据对象名字创建对象
    Google是如何测试的(一)
    lex yacc 学习
    C语言宏定义时#(井号)和##(双井号)的用法
    更多编译器对C++11的支持比较
    用C++11替代Boost的实验之三
    最先进的开源游戏引擎KlayGE 4.2发布
    各编译器对C++11的支持比较
    在Android模拟器上的一些小陷阱
    推出KlayGE Foundation Library
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/3977664.html
Copyright © 2011-2022 走看看