【发布时间】:2018-12-27 06:54:04
【问题描述】:
我有几个部分。每个部分我都有一个位置为absolute的div
当它滚动时,div 顶部位置正在更新它没关系。
现在我希望当我完成滚动特定部分并尝试滚动另一个部分时,旧部分的 div 将固定在该部分将结束而不隐藏的区域。
Here is sample animation 这是我的代码 JSFIDDLE
function active_menu_item(){
var elements = ['#message', '#feature', '#course', '#education', '#facility', '#access', '#contact'];
var top_of_screen = $(window).scrollTop();
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var top_of_element = $(element).offset().top;
var top_set = top_of_screen - top_of_element + 50;
var divHeight = $(element).height();
if (top_of_element < top_of_screen) {
$(element).find('.content_side_left').css('top', (top_of_screen - top_of_element + 50) + 'px');
}
}
}
jQuery(document).on('scroll', function(){
//$(window).scroll(function() {
active_menu_item();
});
.content_item {
position: relative;
width: 100%;
z-index: 1;
overflow: hidden;
height:500px;
background:gray;
font-size:30px;
}
.content_side_left {
position: absolute;
top: 50px;
left: 0;
text-align: center;
z-index: 100;
}
.content_side_left {
width: 118px;
}
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<div id="message" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="message" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="feature" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="course" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="education" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="facility" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="access" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
<div id="contact" class="content_item">
<div class="content_side_left" >
sticky content
</div>
</div>
【问题讨论】:
-
我不明白你想说什么,像这样? imgur.com/a/mw2qOWv
-
@WASD 不,我想在一个 div 的末尾滚动,什么时候开始滚动另一个 div。粘性内容将保留在旧 div 的底部。当我在 top:10px 实施时,新的 div 将随之而来
标签: javascript jquery css scroll position