#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 )