ページの上部に数行を貼り付けることができるjqueryプラグインを誰かが推奨できますか?
つまり、ページが読み込まれると、コンテンツは適切な場所に配置されます。コンテンツがページの上部に到達すると、ユーザーがスクロールしている間、コンテンツは所定の位置に固定されます...次に、上にスクロールすると、コンテンツは元の場所に戻りますか?
問題のコンテンツは、いくつかのTR要素になります。
いくつか試しましたが、試したものすべてに大きな問題があったので、もう少しお勧めできるかと思います。ありがとう
ページの上部に数行を貼り付けることができるjqueryプラグインを誰かが推奨できますか?
つまり、ページが読み込まれると、コンテンツは適切な場所に配置されます。コンテンツがページの上部に到達すると、ユーザーがスクロールしている間、コンテンツは所定の位置に固定されます...次に、上にスクロールすると、コンテンツは元の場所に戻りますか?
問題のコンテンツは、いくつかのTR要素になります。
いくつか試しましたが、試したものすべてに大きな問題があったので、もう少しお勧めできるかと思います。ありがとう
OK、これが私がこれにアプローチする方法です。
まず、次のような「ターゲット」div があります。
<div id="fixedHeader">
<table>
<thead></thead>
</table>
</div>
次の CSS があります。
#fixedHeader
{
位置: 固定;
上: 0;
float、left、right、margin など: 必要に応じて。
}
#fixedHeader:not(.active)
{
表示: なし;
}
ページが最初に読み込まれるときに、テーブルtheadをこの div にコピーします。次に、ユーザーがスクロールしてテーブルの上部が見えなくなったら、これを表示します。上にスクロールしたら、もう一度非表示にします。activeクラスを追加/削除することで、非表示と表示を行います。
$(document).ready(function() {
// copy over the thead
$('#fixedHeader > table > thead').html($('#theTable > thead').html());
// show or hide the div as necessary.
$(window).scroll(function() {
if ( $('#theTable > thead').offset.top < $(window).scrollTop() )
{
$('#fixedHeader').addClass('active');
}
else
{
$('#fixedHeader').removeClass('active');
}
});
});
ユーザーがテーブルの最後を超えてスクロールできる場合、問題が発生します。必要に応じて、そのケースの if 条件を展開できます。
これを使用するだけです:
$("body").on("scroll",function(){
$("tr.stickToTop").each(function(){
if($(this).offset().y<=0){
$(this).css({
position: "fixed",
top:0
});
} else {
$(this).css({
position: "static",
top:''
});
}
});
});
要素$("tr.stickToTop")で機能する jQuery セレクターに置き換えます。<tr />