Прокрутка быстрого наклона заданной видимости достаточно скрыта

Я пытаюсь удалить фиксированный заголовок, покидая таблицу в верхней части прокрутки. Но когда я быстро прокручиваюсь, мой код ниже не может установить видимость скрытой достаточно быстро и продолжать показывать фиксированный заголовок таблицы из-за цикла (может быть?). Как я могу скрыть это правильно? То, как я исправил, не хочу: проверьте в конце таблицы и спрячьте все.

Когда я говорю прокрутку быстро, нужно удерживать панель для прокрутки. Или нажмите кнопку для прокрутки, чтобы перейти вниз.

$window.addEventListener("scroll", function() {
    var tab = $("div[name='" + tabScroll + "']")[0];
    var tableResults= tab.getElementsByClassName('results'); // get all tables(lots of tables)

    //loop all tables to check if the top scroll is inside of table specific.
    $(tableResults).each(function(index, element){
        var link = $(element);
        var offset = link.offset();
        var top = offset.top;
        var bottom = top + link.outerHeight();
        var inside = ($(document).scrollTop() >= $(element).offset().top && $(document).scrollTop() <= bottom-150)
        if(inside){
            toggleHeader(element, "visible");
        } else if($(document).scrollTop() >= $(element).offset().top && $(document).scrollTop() <= bottom){
            toggleHeader(element, "hidden");
        }
    });         
});     

function toggleHeader(x, v) {
    $(x).find('thead').css('visibility', v);
    $(x).parent().parent().find('.float-left-div').children().css('visibility', v);
}

jquery,css,

0

Ответов: 1


0 принят

Каждый свиток, он будет называть else, если + else, если вне всего. Код ниже внутри каждого цикла.

var element = angular.element(val);

var positionOutsideOfTable = $(element).offset().top + $(element).outerHeight();
var inside = (scrollY >= $(element).offset().top && scrollY <= positionOutsideOfTable - 200);

if (inside) {
    // I'm inside of this table yay
} else if (scrollY >= $(element).offset().top && scrollY <= positionOutsideOfTable + $(document).height()) {
    // I'm below the table and at same time I'm out of everything :(
} else {
    // I'm out of everything
}
JQuery, CSS,
Похожие вопросы