0
我使用bootstrap製作博客頁面。頁面的右側三分之一是一個列表,其中包含一個類別列表和搜索欄,當您從頁面頂部滾動300px時,該列將被固定。這似乎運作良好,但問題是,頁面第一次加載時,side元素跳轉到頁面的頂部沒有明顯的原因。我認爲我的JS代碼有問題。修復頁面加載位置的元素在頁面加載時跳出位置
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var objectSelect = $("#wrapnews");
var objectPosition = objectSelect.offset().top;
if (scroll > 300) {
$(".col-md-4").addClass("fix-sidebar");
} else {
$(".col-md-4").removeClass("fix-sidebar");
}
});
下面是進一步參考
.fix-sidebar {
position: fixed !important;
top: 180px;
right: 30px;
width: 360px;
}
.sidenote {
text-align: center;
display: block;
background-color: #ccc;
color: #fff;
border: 2px solid #000;
border-radius: 2px;
width: 360px;
}
的CSS和HTML的div
<div class="col-md-4 fix-sidebar" id="wrapnews">
<div class="sidenote">
</div>
</div>
非常感謝這個問題得到了解決!只需要注意任何有興趣的人,我必須將CSS中的.wrapnews類更改爲#wrapnews以使其工作。當您爲可能需要知道的人指定像素高度時,它仍然有效。我用: var objectSelect = $(「#wrapnews」),objectPosition = objectSelect.offset()。top; $(窗口).scroll(函數(){ VAR滾動= $(窗口).scrollTop();如果 (滾動> 500){ objectSelect.addClass( 「修復側邊欄」);} 否則{ objectSelect.removeClass(「fix-sidebar」); } }); – Alaric