Jquery 固定侧边栏内包装div
嗨,我一直在尝试做一个固定的侧边栏内包装div,但没有运气。该页面是,我需要侧边栏保持固定,而我向下滚动的其他新闻部分。截面结构如下所示:Jquery 固定侧边栏内包装div,jquery,css,scroll,sidebar,css-position,Jquery,Css,Scroll,Sidebar,Css Position,嗨,我一直在尝试做一个固定的侧边栏内包装div,但没有运气。该页面是,我需要侧边栏保持固定,而我向下滚动的其他新闻部分。截面结构如下所示: <section class="secondary"> <section id="sidebar"> ... </section> <section id="othernews"> ... </section> ... ... 我尝试在“secondary”部分中进行绝对定位,修
<section class="secondary">
<section id="sidebar">
...
</section>
<section id="othernews">
...
</section>
...
...
我尝试在“secondary”部分中进行绝对定位,修复了,这实际上修复了相对于浏览器窗口的侧栏,我尝试了这个查询,这似乎正是我所需要的:但我无法使它与我的页面一起工作。知道我做错了什么吗?提前感谢尝试使用.position()
而不是.offset()
,并从脚本末尾删除额外的符号
$(function() {
var top = $('#sidebar').position().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
var footTop = $('#footer').position().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));
var maxY = footTop - $('#sidebar').outerHeight();
$(window).scroll(function(evt) {
var y = $(this).scrollTop();
if (y > top) {
if (y < maxY) {
$('#sidebar').addClass('fixed').removeAttr('style');
} else {
$('#sidebar').removeClass('fixed').css({
position: 'absolute',
top: (maxY - top) + 'px'
});
}
} else {
$('#sidebar').removeClass('fixed');
}
});
}); //​ What are this symbols ???? remove them!
$(函数(){
var top=$('sidebar').position().top-parseFloat($('sidebar').css('marginTop').replace(/auto/,0));
var footTop=$('footer').position().top-parseFloat($('footer').css('marginTop').replace(/auto/,0));
var maxY=footTop-$(“#边栏”).outerHeight();
$(窗口)。滚动(功能(evt){
var y=$(this.scrollTop();
如果(y>顶部){
if(y
欢迎来到SO。这对我们来说有点难以分析。尝试分解页面,直到达到预期效果。然后在保持效果的同时重新构建。可能有其他方法可以让我获得想要的效果吗?分解页面确实有帮助,谢谢。我想我在html的某个地方搞砸了,但我用这个示例再次构建了我的页面,现在一切正常