我使用这个JavaScript函数来使右侧栏固定:如何修复侧边栏滚动?
<script type="text/javascript">
$(document).ready(function() {
var top = $('#rightsidebar-wrapper').offset().top - parseFloat($('#rightsidebar-wrapper').css('marginTop').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
// whether that's below the form
if (y >= top) {
// if so, ad the fixed class
$('#rightsidebar-wrapper').addClass('fixed');
} else {
// otherwise remove it
$('#rightsidebar-wrapper').removeClass('fixed');
}
});
});
</script>
而这个CSS样式的rightsidebar格:
#rightsidebar-wrapper {
background: #ffffff;
width: 225px;
float: right;
margin-top: 8px 0px 0 0;
padding:0px;
word-wrap: break-word;
overflow: hidden;
}
#rightsidebar-wrapper.fixed {
position: fixed;
top: 5px;
}
这是一个侧边栏放在右边。 问题是当侧边栏顶部在滚动时遇到屏幕的顶端时,它会漂浮到左侧。在此增加的CSS
right: 10%;
它解决了这个问题,但是当页面放大或缩小的再次失去其位置。 任何想法如何解决这个问题?
设置
top:
值是你能解决这个问题吗?我将元素设置为绝对值,并使用JS计算来使其工作。我遇到的问题是IE在您滚动时抖动。 Chrome和Firefox很流畅。我也必须让我的敏感,所以设置一个权利或保证金权利将无济于事。我的解决方案的小提琴在这里:http://jsfiddle.net/yq3rcp0j/7/ – seroth 2015-03-06 15:10:51