<script> // ---------- DEFAULT FONT PLAYLIST ---------- let defaultFonts = ["Roboto", "Open Sans", "Playfair Display", "Fira Code", "Pacifico", "Montserrat"]; let playlist = [...defaultFonts]; let currentIndex = 0; let intervalId = null; let isPlaying = false;
userMessageTextarea.addEventListener('input', updateTextContent); prevBtn.addEventListener('click', prevFont); nextBtn.addEventListener('click', nextFont); playBtn.addEventListener('click', () => if (playlist.length) startAutoRotate(); else alert("Add fonts to playlist first"); ); pauseBtn.addEventListener('click', stopAutoRotate); addFontBtn.addEventListener('click', addFont); exportBtn.addEventListener('click', exportPlaylist); importBtn.addEventListener('click', () => importFileInput.click()); importFileInput.addEventListener('change', (e) => if (e.target.files.length) importPlaylist(e.target.files[0]); importFileInput.value = ''; ); darkModeBtn.addEventListener('click', toggleDarkMode); // Stop rotation when page visibility or before unload (clean) window.addEventListener('beforeunload', () => if(intervalId) clearInterval(intervalId); );
function importPlaylist(file) const reader = new FileReader(); reader.onload = (e) => try const json = JSON.parse(e.target.result); if (json.fonts && Array.isArray(json.fonts) && json.fonts.length) playlist = json.fonts; currentIndex = 0; if (json.savedText !== undefined) userMessageTextarea.value = json.savedText; renderPlaylistUI(); updateTextContent(); updateDisplay(); stopAutoRotate(); else alert("Invalid playlist format. Need fonts: [...] "); catch(err) alert("Error parsing file"); ; reader.readAsText(file);
function prevFont() if (!playlist.length) return; currentIndex = (currentIndex - 1 + playlist.length) % playlist.length; updateDisplay(); if (isPlaying) stopAutoRotate(); startAutoRotate(); else updateDisplay();
Введите ваш e-mail и получите шанс выиграть доступ ко всем курсам
<script> // ---------- DEFAULT FONT PLAYLIST ---------- let defaultFonts = ["Roboto", "Open Sans", "Playfair Display", "Fira Code", "Pacifico", "Montserrat"]; let playlist = [...defaultFonts]; let currentIndex = 0; let intervalId = null; let isPlaying = false;
userMessageTextarea.addEventListener('input', updateTextContent); prevBtn.addEventListener('click', prevFont); nextBtn.addEventListener('click', nextFont); playBtn.addEventListener('click', () => if (playlist.length) startAutoRotate(); else alert("Add fonts to playlist first"); ); pauseBtn.addEventListener('click', stopAutoRotate); addFontBtn.addEventListener('click', addFont); exportBtn.addEventListener('click', exportPlaylist); importBtn.addEventListener('click', () => importFileInput.click()); importFileInput.addEventListener('change', (e) => if (e.target.files.length) importPlaylist(e.target.files[0]); importFileInput.value = ''; ); darkModeBtn.addEventListener('click', toggleDarkMode); // Stop rotation when page visibility or before unload (clean) window.addEventListener('beforeunload', () => if(intervalId) clearInterval(intervalId); );
function importPlaylist(file) const reader = new FileReader(); reader.onload = (e) => try const json = JSON.parse(e.target.result); if (json.fonts && Array.isArray(json.fonts) && json.fonts.length) playlist = json.fonts; currentIndex = 0; if (json.savedText !== undefined) userMessageTextarea.value = json.savedText; renderPlaylistUI(); updateTextContent(); updateDisplay(); stopAutoRotate(); else alert("Invalid playlist format. Need fonts: [...] "); catch(err) alert("Error parsing file"); ; reader.readAsText(file);
function prevFont() if (!playlist.length) return; currentIndex = (currentIndex - 1 + playlist.length) % playlist.length; updateDisplay(); if (isPlaying) stopAutoRotate(); startAutoRotate(); else updateDisplay();
Условия использования файлов cookie
На сайте https://pimaschool.ru/ и его поддоменах (далее — Сайт) используются файлы cookie. Файлы cookie — это небольшие текстовые файлы, которые после просмотра Пользователем фрагментов Сайта сохраняются на его устройстве. Использование файлов cookie позволяет ИП Духович (далее – Оператор) контролировать доступность Сайта, анализировать данные, а также понимать, как развивать оказываемые услуги. font playlist script
На Сайте используются следующие типы файлов cookie:
1. Технические файлы cookie: они необходимы для корректной работы Сайта и вспомогательных сервисов. Такие файлы cookie позволяют определять аппаратное и программное обеспечение устройства Пользователя; выявлять ошибки при работе Сайта; тестировать новые функции для повышения производительности Сайта.
2. Файлы cookie для аутентификации: они необходимы, чтобы запоминать Пользователей. Благодаря таким файлам Пользователю при новом посещении Сайта не нужно заново вводить авторизационные данные.
3. Аналитические файлы cookie: они позволяют подсчитывать количество Пользователей Сайта; определять, какие действия Пользователь совершает на Сайте (посещаемые страницы, время и количество просмотренных страниц). Сбор аналитических данных осуществляется через партнеров, в том числе Google Analytics, Yandex Metrika.
4. Рекламные файлы cookie: они помогают анализировать, из каких источников Пользователь перешел на Сайт, а также персонализировать рекламные сообщения.
let playlist = [...defaultFonts]
Срок хранения файлов cookie зависит от конкретного типа, но в любом случае не превышает срока, необходимого для достижения целей обработки персональных данных. let currentIndex = 0
При посещении Сайта Оператор запрашивает согласие Пользователя на использование файлов cookie. Для прекращения обработки файлов cookie Пользователь может изменить настройки используемых браузеров на всех устройствах (компьютер, мобильные устройства).
ВАЖНО: при отказе от использования файлов cookie отдельные функции Сайта могут быть недоступными, что повлияет на возможность использования Сайта.
Восстановить пароль
Ваша заявка принята!
Мы скоро с Вами свяжемся.