NextJS позволяет избежать задержки при изменении цвета элементов панели навигации при прокруткеCSS

Разбираемся в CSS
Ответить
Anonymous
 NextJS позволяет избежать задержки при изменении цвета элементов панели навигации при прокрутке

Сообщение Anonymous »


Этот код изменяет цвет элементов панели навигации после 1020 пикселей (экран 1080 пикселей) ниже, и если панель навигации появляется на другой странице, однако при переходе на другую страницу происходит задержка в изменении цветов панели навигации, пока я не начну прокручивать, можно ли это исправить или заставить работать по-другому?

Вот видео, демонстрирующее это:

Codesandbox: https://codesandbox.io/p/sandbox/hotel- ... %3A12%2C13

'использовать клиент' импортировать изображение из «next/image» импортировать ссылку из «next/link» импортировать контейнер из «../Container» импорт {useState, useEffect, useCallback} из «реагировать»; импортировать {useRouter} из «следующего/навигации»; const Navbar = () => { const [цвет, setColor] = useState(false) constchangeColor = useCallback(() => { if (window.scrollY >= 950 || window.location.pathname.includes('/lodge')) { УстановитьЦвет (истина); } еще { установитьЦвет (ложь); } }, []); useEffect(() => { изменить цвет(); window.addEventListener('scroll',changeColor); возврат () => { window.removeEventListener('scroll',changeColor); }; }, []); const [изображение, setImage] = useState(false) constchangeImage = useCallback(() => { if (window.scrollY >= 950 || window.location.pathname.includes('/lodge')) { setImage (истина); } еще { setImage (ложь); } }, []); useEffect(() => { изменитьИзображение(); window.addEventListener('scroll', ChangeImage); возврат () => { window.removeEventListener('scroll', ChangeImage); }; }, []); возвращаться ( {изображение ? ( ) : ( )} ЛОДЖ НАШ БЛОГ {изображение ? ( ) : ( )} НОМЕР RU | ES ) } экспортировать навигационную панель по умолчанию; Проблема все еще не решена
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»