切换位置固定和静止

时间:2013-10-28 16:05:58

标签: javascript jquery html css css-position

我有2列。右列是正常的可滚动内容窗格。左侧列,类名为sticky,是我试图在固定和静态定位之间切换的列。当您滚动右侧列直到结束时,它必须在视图中保持固定。当您到达右侧列的末尾(并且下一部分变得可见)时,sticky div的位置必须更改为静态并正常滚动页面。以下部分必须以相同的方式(通常)滚动,直到它到达浏览器窗口的顶部,其中视图中的当前sticky div更改为固定的位置。

HTML:

<section>
    <div class="c-2 sticky"></div> /* Background image */
    <div class="c-2">
        <p>Any volume of content. Must cater for long and short pieces</p>
        ....
    </div>
</section>

CSS:

.content {
    width: 100%;
    overflow: hidden;
    float: left;
    padding-left: 130px;
    position: relative;
}

.c-2 {
    position: relative;
    width: 50%;
    left: 50%;
    overflow: hidden;
    background: #e4f;
}

    .c-2.sticky {
        background: url(img/holder.jpg) fixed top center no-repeat #fff;
        -webkit-background-size: cover;
           -moz-background-size: cover;
             -o-background-size: cover;
                background-size: cover; 
        position: fixed;
        left: 0;
        width: 60%;
    }

JS是我倒下的地方,我只是不知道如何开始这样做。我尝试过使用StickyKit,但没有运气。我在这里有一个JSFiddle:http://jsfiddle.net/6HPX5/

2 个答案:

答案 0 :(得分:1)

您好请查看此演示并告诉我这样的内容是否是您想要的 http://jsfiddle.net/6HPX5/130/ 然后我可以更好地解释这个.

答案 1 :(得分:0)

你需要在新部分的开头放置一个“锚点”然后使用jQuery,你需要看到这个元素的位置,然后一旦你确定锚是可见的,就使用jQuery(id ).css()选项来改变位置。

或另一种选择是跟踪滚动,当左边的元素需要移动时,使用动画将其移出屏幕。

<强>更新

http://api.jquery.com/css/ - 更改位置属性。

http://api.jquery.com/scroll/ - 检测滚动

http://api.jquery.com/position/http://api.jquery.com/offset/ - 获取你的主播位置。

然后你添加这个:

jQuery(window).scroll(function(e) {
   //track scrolling
});