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

320
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> с текстом внутриЯ хочу, чтобы у первого элемента размер шрифта был...

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

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

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

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

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

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

250