我使用這個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