@Zewkin
Я у мамы фронтэндер

Scroll, margin-top и Chrome?

Привет,

нужно сделать липким боковой блок. position: fixed сделать нельзя, везде флексбокс и все рассыпется. Делаю так:

var anchors = {
    textEndline: document.querySelector('.longRead__text').clientHeight + +document.querySelector('.longRead__text').offsetTop,
    el: document.querySelector('.anchors'),
    height: document.querySelector('.anchors').clientHeight + 50,
    offsetTop: document.querySelector('.anchors').offsetTop - 50  // 50 is a gutter
  }

  document.addEventListener('scroll', function(e) {
    if (window.scrollY > anchors.offsetTop && window.scrollY <  (anchors.textEndline - anchors.height)) {
      anchors.el.style.marginTop = window.scrollY - anchors.offsetTop + 'px';
    }
  })


В Firefox все работает отлично, в хроме - марджин "догоняет" скролл и блок дергается.
Кто-нибудь сталкивался? Лечится?
Спасибо.
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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