我正在尝试这样做,当你加载一个div时,div会粘在它的底部。然后,当用户向下滚动时,它会粘到顶部。
我可以使用粘性元素粘贴到顶部。
<div id="container">
<div id="menu">
<ul>
<li><a href='#test'>Line 1</a></li>
<li><a href='#'>Line 2</a></li>
<li><a href='#'>Line 3</a></li>
</ul>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function(){
if($(this).scrollTop()>=660)
{
$('#menu').addClass('fixed');
}else{
$('#menu').removeClass('fixed');
}
});
});
</script>
我不能这样做,所以它在负载时坚持到底。如果不清楚,我附上了一个小样本。
答案 0 :(得分:9)
<强>更新。强>
的 Here is working jsFiddle to examine. 强>
jQuery的:
$(document).ready(function() {
var windowH = $(window).height();
var stickToBot = windowH - $('#menu').outerHeight(true);
//outherHeight(true) will calculate with borders, paddings and margins.
$('#menu').css({'top': stickToBot + 'px'});
$(window).scroll(function() {
var scrollVal = $(this).scrollTop();
if ( scrollVal > stickToBot ) {
$('#menu').css({'position':'fixed','top' :'0px'});
} else {
$('#menu').css({'position':'absolute','top': stickToBot +'px'});
}
});
});
注意:如果你想进一步,我建议也检查一下这个答案: