我有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/
答案 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
});