Исправление заголовка таблицы на веб-странице

Я хотел бы знать, как исправить заголовок таблицы, даже если мы прокручиваем вниз на веб-сайт и из представления таблицы. Я хотел бы использовать стиль CSS для этого. Спасибо.

Я также хотел бы знать, как исправить элемент на веб-странице, чтобы он всегда отображался даже при прокрутке вниз. Изображение может быть текстовым. Используйте div и css

2 ответа

Решение

Взятый из моего старого поста, вот пример того, что вы хотите сделать вместе в одной скрипке.

JSFiddle

JQuery:

function moveScroll() {

var scroll = $('#table-container').offset().top;
var anchor_top = $("#maintable").offset().top;
var anchor_bottom = $("#bottom_anchor").offset().top;

if (scroll > anchor_top && scroll < anchor_bottom) {

clone_table = $("#clone");

if (clone_table.length === 0) {
clone_table = $("#maintable").clone();
clone_table.attr({
    id: "clone"
}).css({
    position: "fixed",
    "pointer-events": "none",
    left: $("#maintable").offset().left + 'px',
    top: 130
}).width($("#maintable").width());

$("#table-container").append(clone_table);

$("#clone").width($("#maintable").width());

$("#clone thead").css({
    visibility: "true"
});

$("#clone tbody").css({
    visibility: "hidden"
});

var footEl = $("#clone tfoot");
if (footEl.length) {
footEl.css({
    visibility: "hidden"
});
}
}
} else {
$("#clone").remove();
}
}

$('#table-container').scroll(moveScroll);

Вы могли бы сделать что-то вроде этого, нажав на обработчик события прокрутки в окне и используя другую таблицу с фиксированной позицией, чтобы отобразить заголовок вверху страницы.

Пример:

var tableOffset = $("#table-1").offset().top;
var $header = $("#table-1 > thead").clone();
var $fixedHeader = $("#header-fixed").append($header);

$(window).bind("scroll", function() {
    var offset = $(this).scrollTop();
    
    if (offset >= tableOffset && $fixedHeader.is(":hidden")) {
        $fixedHeader.show();
    }
    else if (offset < tableOffset) {
        $fixedHeader.hide();
    }
});
body { height: 1000px; }
#header-fixed { 
    position: fixed; 
    top: 0px; display:none;
    background-color:white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table-1">
    <thead>
        <tr>
            <th>Header1</th>
            <th>Header2</th>
            <th>Header3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>info</td>
            <td>info</td>
            <td>info</td>
        </tr>
        <tr>
            <td>info</td>
            <td>info</td>
            <td>info</td>
        </tr>
        <tr>
            <td>info</td>
            <td>info</td>
            <td>info</td>
        </tr>
    </tbody>
</table>
<table id="header-fixed"></table>

Другие вопросы по тегам