Элемент #topic-progress сохраняет видимость во время загрузки

Элемент #topic-progress отображается в виде антипаттерна, пока виден спиннер.

Вы можете воспроизвести это поведение: просто откройте тему и нажмите на ссылку заголовка вверху в мобильном представлении, чтобы вызвать спиннер.

Есть ли идеи, как скрыть #topic-progress, пока виден спиннер?

1 лайк

Можете воспроизвести это здесь, или это специфично для того сайта?

1 лайк

Парадоксально, но мета-форум освобождён от этого дефекта, однако мне удалось воспроизвести его на наших продакшн-серверах и почти на всех остальных известных мне сайтах.

Другой пример:

Редакция: похоже, что когда у темы много сообщений, элемент (прогресс темы) не отображается без прокрутки. Именно поэтому мне не удавалось воспроизвести это на некоторых сайтах ранее, например на мета-форуме.

Я поддерживаю идею что-то сделать с виджетом прогресса по мобильной теме во время загрузки следующей партии. Это звучит как разумное улучшение, но я не уверен, что полное скрытие — это то, чего мы хотим.

Полное скрытие временной шкалы было бы антипаттерном, так как элементы будут «прыгать».

@design, есть ли какие-то мысли?

Очевидно, это не то, что нужно срочно менять, но может быть интересной задачей для доработки.

2 лайка

Спасибо за ваш ответ. Я понимаю ваше беспокойство по поводу подпрыгивания, вызванного скрытием полной временной шкалы, поэтому будет работать только резервирование места с отступом.

Это не совсем проблема CSS: прилипание или опускание прогресса темы вниз, пока активен индикатор загрузки, связано с JavaScript.

Меня всё ещё интересует, почему здесь это не воспроизводится. Можно ли воспроизвести это на try.discourse.org? Это специфично для CSS-макета этих сайтов, например, из-за дополнительных заголовков и так далее?

1 лайк

На самом деле мне удалось воспроизвести это здесь, как указано в моём ответе выше.

2 лайка

О, хорошо — извините, я это пропустил.

1 лайк

Я не думаю, что это вызовет «подпрыгивание» на мобильных устройствах, поскольку мы используем фиксированное позиционирование при прокрутке и абсолютное позиционирование, когда элемент «пристыковывается», поэтому он в любом случае не влияет на макет.

Я провел быстрый тест, просто скрыв его через CSS, когда он получает класс docked (именно поэтому происходит скачок позиционирования при загрузке: страница короткая, и полоса прогресса «пристыковывается»)… никакого подпрыгивания при исчезновении/появлении не наблюдается.

Другой вариант — отстыковать его и оставить в фиксированном положении во время загрузки, но проблема в том, что если вы перемещаетесь вверх к началу страницы с самого низа (например, из раздела «Предлагаемые темы»)… я думаю, вы увидите скачок позиции, когда таймлайн переходит из состояния docked в фиксированное?

В любом случае, я попробую это и посмотрю, что сработает лучше.

4 лайка