如何制作粘性页脚" sink"滚动后?

时间:2014-11-04 01:13:24

标签: javascript jquery css twitter-bootstrap sticky-footer

我一直在疯狂地尝试实现这一目标,但我无法弄清楚(初学者)。

正如您所看到的,当您向下滚动时,顶部头部将粘在页面顶部,但也会溢出一点。这是通过stickyjs完成的。在滚动了一下之后,我也希望对头部的底部做同样的事情,然后沉入"在坚持页面底部的几个像素,因此可见度更高,但无论我尝试什么,它都不会起作用。

如果有人可以提供帮助,我会感激不尽。

这里是顶部代码:

#head {
    z-index:101;
    display: block;
    position: absolute; 
    bottom: 20%;
    width:100%;
    margin:0 auto;
    right:0;
    left:0;
    height:85px;
    background: url(../float.png) #fff 50% 50% no-repeat;
    text-indent:-9999px;
    overflow:hidden;
}

这里是底部代码:

#footerhead {
    z-index:100;
    position:fixed;
    left:0px;
    bottom:0px;
    margin:0 auto;
    height:20%;
    width:100%;
    background:url(../footer.png) #fff  50% 0  no-repeat;
}

这就是使它坚持的粘性物质:

<script>
    $(document).ready(function(){
        $("#head").sticky({topSpacing:-70});
    });
</script>

请帮帮我。 :(

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery .scroll()功能来实现您尝试做的事情。这是我创建的一些可以完美适合您的代码:

$(window).scroll(function() {
    if ($(this).scrollTop() > 500) {
        $("#footerhead").css("height","5%");
    } else if ($(this).scrollTop() < 500) {
        $("#footerhead").css("height","20%");
    }
});

如果用户在您的网站上向下滚动500px,则#footerhead div的高度会降低到5%,从而隐藏了大部分脸部并制作内容区域更明显。接下来,当用户向上滚动时,#footerhead div的高度会增加回20%。您还可以将滚动的值从500px设置为您选择的任何其他值。

答案 1 :(得分:0)

这可能对您有用:

<!doctype html>
<html>
    <head>
        <title>Sticky Bottom</title>
        <style type="text/css">
            #head {
                z-index:101;
                position: relative;
                height:85px;
                width: 100%;
                background: none green;
            }
            #footerhead {
                z-index:100;
                position:relative;
                height:85px;
                width: 100%;
                background: none red;
            }
            .is-sticky #footerhead {
                position: fixed;
                top: auto !important;
                bottom: -10px;
                left: 0;
            }
        </style>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="http://path_to/jquery.sticky.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("#head").sticky({topSpacing:-10});
                $('#footerhead').sticky();
            });
        </script>
    </head>
    <body>

        <div id="head">
            HEAD
        </div>
        <div id="footerhead">
            FOOTERHEAD
        </div>
        <div id="content">
            <p>Content here..</p>
        </div>
    </body>
</html>

可能是jsticky错误,但我看到它为每个粘性元素添加了top: -10px。请注意,元素变为粘性,只有在向下滚动元素后才能获得类is_sticky。(它不能保持在页脚中)。