0
左/右矢印(キーボード上)または中マウスボタンでスクロールの左位置を更新します。 私は下/上にスクロールしているときだけ、左の位置が機能しています。Jquery-offsetLeftは右からスクロールでは機能しません
私のスクリプトは単純です:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if(scroll >= 672) {
$('.firm-row-th').addClass("stickyHeader");
}else {
$('.firm-row-th').removeClass("stickyHeader");
}
if($('.stickyHeader')[0]) {
$('.stickyHeader').css({ 'left': -$('.firm-container').scrollLeft() + "px" });
}
});
私のCSS:私はfiddle元を追加してい
.firm-container {
margin-left: 0px;
width: calc(100% - 8px);
white-space: nowrap;
border: 1px solid #222;
overflow-x: auto;
z-index: 10;
position: absolute;
background-color: #fff;
}
.firm-row {
display: table;
table-layout: fixed;
}
.firm-row-th {
display: table;
table-layout: fixed;
}
.stickyHeader {
position: fixed;
top:0;
}
。
stickyheader
がオンの場合は、右にスクロールしてみてください。 stickyHeader
がリフレッシュされていないことがわかります。次に下にスクロールしてください。stickyheader
が更新されます。
ああ...とても簡単。ありがとう:) – Kafus