【发布时间】:2017-01-16 06:51:06
【问题描述】:
我有这个侧边栏,它的位置是通过 JS 设置的。基本上,它必须在页面滚动时保持原位,但是,当它到达容器的末尾时,它就会消失。我怎样才能保留(固定的)div,这样它就不会离开容器? 我将在这里发布代码和一张图片来更好地解释我在说什么。
示例:http://www.cosmosgraphicdesign.com/portfolio/work.html?featured
标记:
<div class="container">
<div id="sidebar">
<!-- Sidebar Content -->
</div>
<div id="mainContent">
<!-- Main Content -->
</div>
</div>
CSS:
#sidebar{
position: absolute;
width: 350px;
padding-left: 10px;
}
JQuery:
var mainContent;
var navbarHeight = $(".navbar").height();
var sidebarHeight = $("#sidebar").height()/2;
$(document).on( "scroll", function(){
mainContent = $(".work").scrollTop() + navbarHeight;
$("#sidebar").css("top", mainContent);
if(mainContent => $(".work").height()){
mainContent = $(".work").scrollTop() + navbarHeight - sidebarHeight;
$("#sidebar").css("top", mainContent);
}
});
【问题讨论】:
-
尝试将
background设置为您的.sidebar..