Задать вопрос
@viktorulyushev

Почему скрипт не может нормально отработать?

Есть сайт tools.promo-z.ru ,на нем есть скрипт

$(function () {
            var siteheadHeight;
            var menublockHeight;
            $(window).load(function () {
                siteheadHeight = $(".site-head").height();
                menublockHeight = $(".menu-block").height();
            });
            $(window).scroll(function () {
                if ($(window).scrollTop() > siteheadHeight) {
                    $(".site-head").css('height', siteheadHeight + menublockHeight);
                    $(".menu-block").addClass("stick");
                } else {
                    $(".site-head").css('height', siteheadHeight);
                    $(".menu-block").removeClass("stick");
                }
            });
        });


он должен считать высоту site-head и дальше понятно что,но он высчитывает высоту не правильно,точнее будто считает высоту этого блока до того как этот блок загрузился,и из за этого все едет,высота блока должна быть 204 px ,что не так?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@viktorulyushev Автор вопроса
добавил задержку для
$(window).load(function () {
                siteheadHeight = $(".site-head").height();
                menublockHeight = $(".menu-block").height();
            });

вроде более менее теперь
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ya-vitaliy
@ya-vitaliy
Верстаю... + wordpress и пробую Laravel
Может вместо height() нужно использовать outerHeight()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы