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

Как привязать элемент фиксированно к родителю?

62b44275437dc885061826.png

Как я могу привязать фразу "Оставьте заявку и мы..." так, чтобы при срколе этого блока она всегда была вверху этого блока? Пробовал функцию написать:
var element = $(nameBlock);
    var height_el = element.offset().top;
    var element_stop = element.parent().parent();
    var height_el_stop = element_stop.offset().top + element_stop.height();

    $(window).resize(function(){
      var height_el = element.offset().top;
      var element_stop = element.parent().parent();
      var height_el_stop = element_stop.offset().top + element_stop.height();
    })

    $(element.parent()).css({
        "width": element.outerWidth(),
        "height": element.outerHeight()
    });

    $(window).scroll(function() {
      console.log('element от первого= ' + height_el);
      console.log('когда закончить = ' + height_el_stop)
      console.log("высота элемента =  " + element.outerHeight())
      console.log('scroll = ' + $(window).scrollTop())
        if($(window).scrollTop() > height_el_stop - element.outerHeight() - 10) {
            element.css({
                "top": element.offset().top,
                "left": element.offset().left
            }).removeClass("fixed").addClass("absolute");
        } else {
            if($(window).scrollTop() > height_el) {
                element.addClass("fixed").removeClass("absolute").attr("style", "");
            } else {
                element.removeClass("fixed absolute").attr("style", "");
            }
        }
    });


Но она почему-то не верно считает расположение элемента от начала страницы, прибавляет +200-300пх(и то не во всех местах, где-то работает). Заранее благодарен за ответ!
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@Lorelin
Student web
position sticky или высчитывать область видимости, в которой элемент fixed и менять ему значения)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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