0
私はブートストラップでブログページを作成しています。ページの右端の3分の1は、ページ上部から300ピクセルをスクロールすると固定されるカテゴリリストと検索バーの列です。これはうまく機能しているようですが、ページが最初に読み込まれるときに、明らかに理由がないためにサイド要素がページの先頭にジャンプするという問題があります。私は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");
}
});
はさらに参照のためのCSS
.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;
}
であり、あなたはそれが固定位置決幅作るshould'tようcol-md-4
AS
<div class="col-md-4 fix-sidebar" id="wrapnews">
<div class="sidenote">
</div>
</div>
感謝を見ることができます!興味のある人はメモするだけで、CSSの.wrapnewsクラスを#wrapnewsに変更して動作させる必要がありました。あなたが知る必要があるかもしれない誰かのためにピクセルの高さを指定するとき、それはまだ動作します。私は使用しました: var objectSelect = $( "#wrapnews")、objectPosition = objectSelect.offset()。 $(ウィンドウ).scroll(関数(){ VARスクロール= $(ウィンドウ).scrollTop(); 場合(> 500をスクロール){ objectSelect.addClass( "固定-サイドバーを");} 他{ objectSelect.removeClass( "fix-sidebar"); } }); – Alaric