Я создаю компонент заголовка с помощью структуры stencil.js, заголовок имеет нормальное состояние и состояние isScroll, которое меняется при прокрутке.
Проблема в том, что когда я прокручиваю заголовок, он становится нервным и нервным, он опускается вниз, а когда я прокручиваю вверх, он движется вверх и вниз, и примерно через 2 секунды он устанавливается в ожидаемое положение.
В Chrome, Edge и Opera сбой происходит не только в Mozilla Firefox, я выполняю эту функцию, когда срабатывает прослушиватель onscroll.
public applyScrollBehaviorThrottled = throttle(() => {
const { scrollY } = window;
this.isAtTop = scrollY === 0;
let eyebrowHeight = this.el.querySelector("qds-web-header-eyebrow")?.offsetHeight;
state.isScroll = this.preventCollapse? false: scrollY > this.lastScrollTop;
this.lastScrollTop = scrollY;
}, 50);
@Listen("scroll", { target: "window" })
public applyScrollBehavior(): void {
this.applyScrollBehaviorThrottled();
}`
когда я прокомментировал эту функцию, странного эффекта не произошло.
Я также получил предупреждение на консоли Firefox
Похоже, что на этом сайте используется эффект позиционирования с прокруткой. Это может не работать при асинхронном панорамировании; см. https://firefox-source-docs.mozilla.org/ Performance/scroll-linked_effects.html, чтобы получить дополнительную информацию и присоединиться к обсуждению соответствующих инструментов и функций!
Я попытался прочитать эту статью, о которой предлагалось предупреждение Mozilla здесь
Попробовал закомментировать другой код, чтобы быть уверенным, что проблема здесь.
так что проблема не имеет ничего общего с трафаретом или приведенным выше кодом, просто у меня была позиция: липкая; в css, и он работал не так, как ожидалось, поэтому я добавил display:block; с ним, и теперь он работает нормально, дополнительную информацию вы можете найти здесь: stackoverflow.com/questions/27521676/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


так что проблема не имеет ничего общего с трафаретом или приведенным выше кодом, просто у меня была позиция: липкая; в css, и он работал не так, как ожидалось, поэтому я добавил display:block; с ним, и теперь он работает нормально, дополнительную информацию вы можете найти здесь:
I tried to read through this article- и к какому выводу вы пришли