テーブルにこの JQuery コードを使用しています。
$(document).ready(function () {
var tableBottom = $(window).height() - $('#compare-table').height();
$(window).scroll(function (event) {
var y = $(this).scrollTop();
var tableTop = $('#compare-table').offset().top;
if (y >= tableTop && y <= tableBottom) {
$('#compare-table-controller').addClass('fixed');
$('#compare-table-controller').css('margin-top', '-' + tableTop + 'px');
} else {
$('#compare-table-controller').removeClass('fixed');
$('#compare-table-controller').css('margin-top', '0px');
}
});
var compareTableHeight = $('#compare-table > table').height() + 1;
var compareTableTotalColumn = $('#compare-table > table').width() / 195;
$('#compare-table').css('height', compareTableHeight);
alert($('#compare-table > table').width());
});
何らかの理由で、alert() は chrome と Firefox で異なる値を返します。Chrome 28.0.1500.71 と firefox 22.0 を使用しています。正しい値は 1170px です。
その結果、Firefox では 6 列すべてが表示されます。4 のみを表示し、他の 2 を非表示にする必要があります。
表示されたdivのCSSは.
#compare-table-h {
width: 780px;
overflow: hidden;
position:fixed;
height: 213px;
z-index: 999;
}
#compare-table {
width: 780px;
overflow: hidden;
position:relative;
margin-top: 213px;
}
そして、div内のテーブルは
<table id="compare-table-head" class="table font-size-12 compare-table table-striped" style="position:absolute; border-bottom:1px solid #ddd; width: 1170px;">
最初のテーブルは正常に動作しますが、2 番目のテーブルは動作しません