@maxon76

Как правильно сделать плавающий блок при скроллинге?

На этом сайте есть плавающий хэадер.
Нужно что бы при скроллинге в плавающий хеадер слева дабавлялся логотип.
Я добавил логотип в HTML блок плавающего хеадера, задал display: none; и далее использую такой скрипт:
$(document).ready(function(){
	$(window).scroll(function(){
		if($(window).scrollTop()>200){
			$('.header-bottom .site-branding a img').show()
		}else{
			$('.header-bottom .site-branding a img').hide()
		}
	});
});

Проблема в том, что логотип в плаващем хэадере при скроллинге страницы, появляется и исчезает раньше чем нужно - появляется слишком рано, и исчезает слишком рано. Особенно это заметно при обратном скроллинге, т.е когда логотип должен исчезнуть.
Как это можно исправить? Как нужно доработать скрипт? Потому что ни как не получается подобрать оптимальное значения для scrollTop()>
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xxvxx
....
измени 200 на нужное тебе значение, и я лучше бы добавлял класс active
.site-branding {
    opacity: 0;
    transition: .5s;
}
.site-branding.active {
    opacity: 1;
}
.site-branding a{
    height: 0;
    overflow: hidden;
}
.site-branding.active a {
   height: auto;
}

тогда появление будет плавным и верстка прыгать не будет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы