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

Как зафиксировать элемент на странице без fixed?

Сделал через jquery, но при прокрутке заметен скачек элемента из старой позиции в новую. Как можно избавиться от этого дерганиия. fixed не подходит, т.к. выдергивает элемент из родителя.
  • Вопрос задан
  • 1617 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
iliapro
@iliapro
Веб-разработчик
Вот такой код должен быть:
$(window).scroll(function(){
    $("#your_block").css({"margin-top":$(this).scrollTop()});
});
Ответ написан
@Paramount1987
Один из вариантов. Повесить функцию на события скролла. Где top это скролл топ.

var topOffset = $("#map-search").offset();

function mapSearchScroll(top,topOffset){
  

  if(top > topOffset.top){
    $("#map-search").css({
      "-webkit-transform":"translate(0," + (top - topOffset.top) +"px)",
      "-ms-transform":"translate(0," + (top - topOffset.top) +"px)",
      "transform":"translate(0," + (top - topOffset.top) +"px)"
    });
  }else{
        $("#map-search").css({
      "-webkit-transform":"translate(0,0)",
      "-ms-transform":"translate(0,0)",
      "transform":"translate(0,0)"
    });
  }

}
Ответ написан
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
Фиксирование элемента на странице подразумевает его обособленность. Что значит "выдергивает элемент из родителя"?
Ответ написан
@danilovevgen
веб разработчик
Я так полагаю что блок становится sticky, надо либо на jquery animate тогда ставить с позицией, либо делать позиции максимально похожие как до так и после. А так сложно сказать без примеров кода или скриншота.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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