Scroll при перезагрузке страницы

384
14 мая 2017, 23:58

Если человек перезагружает страницу, когда он прокрутил например до середины, то класс не добавляется, хотя он уже выше 1px от верха страницы, как сюда добавить проверку, что если страницы прокручена дальше 1px, даже при перезагрузке добавлялся класс.

if(window.innerWidth < 768){
    var h_hght = 1;
} else {
    var h_hght = 45;
}
var h_mrg = 0;
$(function(){
    $(window).scroll(function(){
       var top = $(this).scrollTop();
       var elem = $('#head-scroll');
       if (top+h_mrg < h_hght) {
        elem.css('top', (h_hght-top));
        elem.removeClass('fixed');
       } else {
        elem.css('top', h_mrg);
        elem.addClass('fixed');
       }
    });
});
Answer 1

Вынесите Ваш scroll-обработчик в функцию и поставьте функцию как обработчик события load и scroll. Например так:

function scroll () {
   var top = $(this).scrollTop();
   var elem = $('#head-scroll');
   if (top+h_mrg < h_hght) {
    elem.css('top', (h_hght-top));
    elem.removeClass('fixed');
   } else {
    elem.css('top', h_mrg);
    elem.addClass('fixed');
   }
}
window.addEventListener("load", scroll);
window.addEventListener("scroll", scroll);
Answer 2
$( document ).ready(function() {    // После готовности страницы
    if($(window).scrollTop() >= 1)  // Проверка состояния прокрутки
    {
     // ваши действия
    }
});

Надеюсь помог!

READ ALSO
Увеличить размер шрифта поочерёдно

Увеличить размер шрифта поочерёдно

Как увеличить размер шрифта поочерёдно? Например, у меня есть 4 тега <p> с текстом внутриЯ хочу, чтобы у первого элемента размер шрифта был...

325
Лого форума на движке XenForo 1.5.13

Лого форума на движке XenForo 1.5.13

Как сделать так чтобы лого у всег отображалось одинаковоЧтобы оно автоматический растягивалось и не размывалось, как буд-то делаешь это...

381
Text-shadow отступ по оси х

Text-shadow отступ по оси х

Добрый деньСтолкнулся с такой проблемой

330