Как обслуживать файлы AAR с помощью jitpack

Хотя это, скорее всего, будет потеряно в нижней части стольких ответов, верхние решения здесь не работают для меня. Насколько я мог сказать, ни один из других ответов не помог бы. Ситуация : На странице HTML5 у меня было меню, которое было элементом навигации внутри заголовка (не заголовком, а заголовком в другом элементе). Я хотел, чтобы навигационная система придерживалась вершины, как только пользователь прокручивал ее, но до этого заголовок был абсолютно позиционирован (так что я мог бы немного наложить что-то другое). Вышеупомянутые решения никогда не приводили к изменению, потому что .offsetTop не собирался меняться, поскольку это был элемент с абсолютным позиционированием. Кроме того, свойство .scrollTop было просто вершиной верхнего элемента ..., то есть 0 и всегда было бы 0. Все тесты, которые я выполнил, используя эти два (и то же самое с результатами getBoundingClientRect), не сказали бы мне, навигационная панель когда-либо прокручивалась до верхней части просматриваемой страницы (опять же, как сообщалось в консоли, они просто оставались теми же номерами при прокрутке).

Решение Решение для меня использовало

window.visualViewport.pageTop

. Значение свойства pageTop отражает видимый раздел экрана, что позволяет мне отслеживать где элемент относится к границам видимой области.

Возможно, нет необходимости говорить, что в любое время, когда я имею дело с прокруткой, я ожидаю использовать это решение для программного реагирования на перемещение прокручиваемых элементов. Надеюсь, это поможет кому-то другому. ВАЖНОЕ ПРИМЕЧАНИЕ: Это, похоже, работает в Chrome и Opera в настоящее время & amp; определенно не в Firefox (6-2018) ... пока Firefox не поддерживает visualViewport, я рекомендую НЕ использовать этот метод (и я надеюсь, что они скоро ... это делает намного больше смысла, чем остальные). ОБНОВЛЕНИЕ: просто примечание относительно этого решения. Хотя я все еще нахожу то, что, как я обнаружил, очень ценно для ситуаций, когда «... программно реагируют на движение прокручиваемых элементов». применимо. Лучшее решение проблемы, которую я имел, это использовать CSS для установки позиции : sticky для элемента. Используя sticky, вы можете оставить элемент вверху без использования javascript (ПРИМЕЧАНИЕ: бывают случаи, когда это не будет работать так же эффективно, как изменение элемента до фиксированного, но для большинства использует липкий подход, вероятно, будет лучше) UPDATE01: Итак, я понял, что для другой страницы у меня было требование, когда мне нужно было определить положение элемента в мягкой сложной настройке прокрутки (параллакс плюс элементы, которые прокручиваются мимо как часть сообщения). В этом сценарии я понял, что следующее предоставило значение, которое я использовал, чтобы определить, когда что-то делать:

  let bodyElement = document.getElementsByTagName('body')[0];
  let elementToTrack = bodyElement.querySelector('.trackme');
  trackedObjPos = elementToTrack.getBoundingClientRect().top;
  if(trackedObjPos > 264)
  {
    bodyElement.style.cssText = '';
  }

Надеюсь, что этот ответ будет более полезен.

0
задан Tabish Imran 23 February 2019 в 05:43
поделиться