Я хочу привязать div к вершине своего родительского элемента.
Обычно работает, за исключением этого примера: http://jsfiddle.net/HV9HM/2859/
function sticky_relocate() {
var window_top = $('#container').scrollTop();
var div_top = $('#sticky-anchor').offset().top;
if (window_top > div_top) {
$('#sticky').addClass('stick');
$('.stick').css('width', $('#sticky').next().css('width'));
} else {
$('#sticky').removeClass('stick');
}
}
$(function () {
$('#container').scroll(sticky_relocate);
sticky_relocate();
});
.child {
height: 200px;
background: gray;
}
#sticky {
padding: 0.5ex;
width: 600px;
background-color: #333;
color: #fff;
font-size: 2em;
border-radius: 0.5ex;
}
#sticky.stick {
position: fixed;
z-index: 10000;
border-radius: 0 0 0.5em 0.5em;
}
body {
margin: 1em;
}
p {
margin: 1em auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<br>
<br>
<br>
<div id="container" style="overflow-y: auto; height: 800px;">
<div id="sticky-anchor"></div>
<div id="sticky">This will stay at top of page</div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>