Как показать div, когда другой div прокручивается из DOM

#html #jquery #scroll #scrolltop

#HTML #jquery #прокрутка #scrolltop

Вопрос:

У меня есть фиксированный div (исправленный логотип), который появляется при прокрутке 1070 пикселей сверху, но я этого не хочу, мне нравится, чтобы div отображался при прокрутке на 50 пикселей после другого div (headerclass)

Как этого можно достичь?

9.

это код

 (function($) {
$(".logo-fixed").css({"visibility": "hidden"});
    $(document).scroll(function () {
        var y = $(this).scrollTop();
 if (y > 1070) {
$(".logo-fixed").css({"visibility": "visible"});
            $('.logo-fixed').fadeIn(200);
        } else {
            $('.logo-fixed').hide(0);
        }
    });
})( jQuery ); 
 .headerclass {
    position:sticky;
        top:0;
    z-index:600;
}
.logo-fixed {
    position:fixed;
    top:0;
    left:0;
    width:224px;
    height:120px;
    z-index:1000;
    background: url("#");
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;   
} 
 <div class="headerclass"></div>
<div class="logo-fixed"></div> 

Комментарии:

1. Вы не можете прокрутить что-то из DOM. Вне области просмотра, конечно, но это все еще в DOM.

2. Да, извините, я имел в виду область просмотра

Ответ №1:

Вы можете получить позицию headerclass элемента с $(.headerclass').scrollTop() помощью, а затем сравнить ее y с вашим условным, вместо 1070 .

Пример:

if (y > 1070) {

заменяется на

if (y > $(.headerclass').scrollTop() 50 )