Один из лучших способов сделать клиентов счастливыми — это всегда соблюдать сроки. Конечно, качество вашей работы так же влияет на то, как клиенты относятся к работе с вами. Но если вы фрилансер, который никогда не пропускает крайний срок, вы будете фрилансером, которому не нужно беспокоиться о потере клиентов. Это связано с тем, что одна из…
Кофе – это тот напиток, вкус которого запоминается людям больше всего. Приятно начать день с чашки любимого сорта кофе. Аромат варящегося кофе вызывает прилив положительных эмоций, а сам напиток бодрит и поднимает тонус. Благодаря воспоминаниям клиентов о выпитом в любимой кофейне напитка повышается эффективность бизнеса. Практически во всех городах мира существует огромный уровень конкуренции среди…
Это было так: Я говорю «был», потому что это устарело. Он все еще может «работать» (как у всех любимых в некоторых браузерах), но он может перестать работать в любое время, говорят они. Цель всего этого состояла в том, чтобы отображать текст моноширинным шрифтом, как это делали машины Teletype. На днях Дейв использовал это в шутку.…
Инжиниринговая компания объявила, что транспортное средство, которое ранее должно было появиться на дорогах к 2020 году, не является «коммерчески жизнеспособным». Автор Генри Вонг 11 октября 2019 года 10:27 11 октября 2019 года 10:34 Dyson отменил проект электромобиля, о котором было объявлено в 2017 году. Основатель компании Джеймс Дайсон объявил, что, несмотря на разработку «фантастического» автомобиля,…
Бренд без цифрового присутствия похож на автомобиль без шин. Это никуда не денется быстро. Несмотря на то, что старомодный «аналоговый» брендинг еще не прошел путь лошадей и багги, компаниям сегодня нужен разнообразный набор инструментов цифрового брендинга, чтобы закрепить свое реальное присутствие. Начните разработку собственной стратегии бренда с нашим основным руководством по цифровому брендингу. Мы рассмотрим…
Покупка или аренда недвижимости — это увлекательно, но и пугающе, особенно для новичков. Как профессионал в сфере недвижимости, вы всегда думаете о том, чего хотят ваши клиенты, что им нужно и с какими проблемами они могут столкнуться. И еще до того, как вы встретитесь с ними лично, они сделают предположения о вас и ваших услугах…
Что дизайнеры думают о новом логотипе Кубка мира 2022? Чемпионат мира 2022 года уже вызвал много споров, но раздельное мнение просочилось в мир дизайна. Ранее в этом месяце FIFA представила логотип для события 2022 года (ниже), созданного португальской дизайнерской студией Unlock. Согласно FIFA, эмблема была совместным проектом между штатными дизайнерами и Unlock. Говорят, что изогнутая…
Совет по дизайну объявил финалистов программы Spark 2019 — ведущей британской программы и фонда поддержки продуктов. Потенциальное финансирование идет в дополнение к 15 000 фунтов стерлингов, первоначально присуждаемым каждому финалисту для разработки своих оригинальных идей для поддержки самостоятельной жизни в доме и вокруг него. В этом году Spark фокусируется на продуктах, которые улучшают жизнь, и…
Добавление темного режима — это, по сути, добавление темы. Принципы одинаковы для добавления светлого режима к темному веб-сайту или альтернативного стиля на основе пользовательских переменных, времени года или праздников.
Я добавил темы со смесью Javascript и CSS. В этом посте я шаг за шагом расскажу о том, как я это сделал и чему научился.
Установка
Темы активируются классами CSS в корневом элементе, . Когда страница загружена, я хочу применить тему, которая наиболее подходит посетителю (вам!) Лучше всего. В конце концов, большинству людей не нравится настраивать веб-сайты до того, как они смогут прочитать сообщение в блоге, поэтому вся функция создания тем, скорее всего, останется неиспользованной. Поэтому я должен сделать предположение о том, что посетитель хочет и ожидает. Я делаю это в следующем порядке:
Я предполагаю, что люди не хотят, чтобы тема менялась при переходе между страницами. Поэтому, если загруженная страница — не первая, которую они посещают, я хочу использовать тему, которая использовалась ранее.
Если это первая страница, которую они просматривают на моем сайте, их браузер может определить их предпочтения.
Если предпочтения нет, мы можем основывать выбор на основании того, день это или ночь.
Я также хочу реагировать на изменения:
Когда тема изменяется в одной вкладке браузера, все остальные вкладки с веб-сайтом должны меняться вместе с ней
Когда посетители меняют свою ОС со светлой на темную или наоборот, веб-сайт должен реагировать на это.
Конечно, посетители должны иметь возможность вручную выбрать тему, если я угадаю неправильно. Наконец, я добавил переход, когда тема меняется. Это также делается с помощью класса CSS, добавленного к корневому элементу.
Это базовая настройка, теперь давайте углубимся в детали!
Состояние сохранения и загрузки
Когда посетитель переходит со страницы на страницу, тема не должна меняться. Поэтому я сохраняю состояние выбранной темы, чтобы ее можно было загрузить на следующей странице. Рассмотрев некоторые альтернативы (см. Ниже), я попал на сохранение выбранной темы в локальном хранилище.
Каждый раз, когда страница загружается, в текущей или новой вкладке, она проверяет, была ли тема установлена ранее. Поскольку предпочтения для светлой или темной темы могут изменяться в течение дня, при каждом изменении я добавляю отметку времени к сохраненной настройке. Только когда состояние было сохранено менее двух часов назад, оно применяется:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function returnThemeBasedOnLocalStorage () { const pref = localStorage . getItem [1945934] 'предпочтения-тема' ) const lastChanged = localStorage . getItem предпочтение-тематический последнее изменение ") пусть сейчас = новый Дата () сейчас = сейчас . getTime () const минутПройдено = ( в настоящее время -