Я пытаюсь сместить панель объявлений при прокрутке вниз, учитывая, что высота панели важнее для небольших устройств.
Вот пример того, чего я хочу достичь: https://8kflexwarm.com/
Итак, я получил этот кусок кода, который работает, но я чувствую, что это не оптимизированный, не чистый код. Я считаю, что должен быть способ смещения $('.announcement-bar')
вместо того, чтобы делать это вручную с размером окна.
Кроме того, почему этот код не работает, когда я обновляю экран, а я не наверху страницы?
Есть ли способ улучшить этот код без использования библиотеки?
if($(window).width() >= 686){
var a = $(".site-header").offset().top;
function scrollListener(){
if($(document).scrollTop() > a)
{
$('.site-header').css({"margin-top":"-40px"});
$('.site-header').css({"transition":"0.4s"});
} else {
$('.site-header').css({"margin-top":"0px"});
$('.site-header').css({"transition":"0.4s"});
}
};
$(document).scroll(scrollListener);
scrollListener();
} else if($(window).width() >= 370) {
var a = $(".site-header").offset().top;
function scrollListener(){
if($(document).scrollTop() > a)
{
$('.site-header').css({"margin-top":"-65px"});
$('.site-header').css({"transition":"0.4s"});
} else {
$('.site-header').css({"margin-top":"0px"});
$('.site-header').css({"transition":"0.4s"});
}
};
$(document).scroll(scrollListener);
scrollListener();
} else {
var a = $(".site-header").offset().top;
function scrollListener(){
if($(document).scrollTop() > a)
{
$('.site-header').css({"margin-top":"-90px"});
$('.site-header').css({"transition":"0.4s"});
} else {
$('.site-header').css({"margin-top":"0px"});
$('.site-header').css({"transition":"0.4s"});
}
};
$(document).scroll(scrollListener);
scrollListener();
};