/
sadwas3da
/
site2
Обзор
Документация
Войти
/
sadwas3da
/
site2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
script.js
213 строк
20 KB
sadwas3da
update script.js
10 ноя 2025, 21:52
10 ноя 2025, 21:52
5023f0c
Код
Авторство
О чём код?
// Массив с данными (заполняется через Python‑скрипт из CSV) const slangData = [ { word: "реплайнуть", translation: "ответить (в чате, соцсети)", example: "Я реплайнул ему вчера." }, { word: "флешбэк", translation: "воспоминание, возврат к прошлому", example: "У меня случился флешбэк из детства." }, { word: "топ", translation: "лучший, высший класс", example: "Этот трек — топ!" }, { word: "огонь", translation: "очень круто, впечатляюще", example: "Твой наряд — огонь!" }, { word: "ноу комментс", translation: "без комментариев", example: "Его поступок — ноу комментс." }, { word: "изи пизи", translation: "очень легко", example: "Сдал зачёт — изи пизи!" }, { word: "зачекиниться", translation: "зарегистрироваться, отметиться в месте", example: "Давай зачекинимся в новом кафе." }, { word: "лол", translation: "смешно (от англ. LOL)", example: "Он упал — лол!" }, { word: "кек", translation: "ироничный смех", example: "Твоя шутка — кек." }, { word: "агри", translation: "агрессивное состояние", example: "У него сегодня агри-режим." }, { word: "бомбить", translation: "сильно злиться, возмущаться", example: "Меня бомбит от этой ситуации." }, { word: "вайб чек", translation: "проверка атмосферы, настроения", example: "Сделаем вайб чек перед вечеринкой." }, { word: "гостить", translation: "приходить в гости без приглашения", example: "Можно я сегодня погощу у тебя?" }, { word: "движ", translation: "активное событие, тусовка", example: "В выходные будет крутой движ." }, { word: "душнила", translation: "человек, который занудствует, портит настроение", example: "Не будь душнилой, расслабься." }, { word: "жиза", translation: "жизненная ситуация, правда жизни", example: "Это прямо жиза!" }, { word: "крашиха", translation: "девушка‑объект влюблённости", example: "Моя крашиха не ответила на сообщение." }, { word: "ливать", translation: "уходить, покидать место", example: "Пора ливать отсюда." }, { word: "мэтч", translation: "совпадение, взаимная симпатия", example: "У нас с ним мэтч в Тиндере." }, { word: "ньюфаг", translation: "новичок, неопытный человек", example: "Он ещё ньюфаг в этой игре." }, { word: "орать", translation: "сильно смеяться", example: "Я ору с этого мема!" }, { word: "подкаст", translation: "аудио‑или видеопрограмма в интернете", example: "Послушал крутой подкаст про космос." }, { word: "пруф", translation: "доказательство, подтверждение", example: "Где пруфы, что ты был там?" }, { word: "рандом", translation: "случайность, случайный выбор", example: "Выбрали победителя рандомом." }, { word: "скилл", translation: "умение, навык", example: "У него высокий скилл в программировании." }, { word: "слить", translation: "проиграть, потерпеть неудачу", example: "Мы слили матч в последний момент." }, { word: "сорян", translation: "извини (от англ. sorry)", example: "Сорян, я опоздал." }, { word: "топчик", translation: "что‑то очень крутое", example: "Этот трек — топчик!" }, { word: "треш", translation: "что‑то шокирующее, неприятное, но захватывающее", example: "Вчера был полный треш." }, { word: "флейм", translation: "жаркий спор в интернете", example: "В чате начался флейм." }, { word: "флекс", translation: "хвастовство, демонстрация статуса", example: "Он любит флексить новыми кроссовками." }, { word: "хайпить", translation: "создавать ажиотаж, раскручивать", example: "Они хайпят новый альбом." }, { word: "хейтить", translation: "ненавидеть, критиковать", example: "Некоторые хейтят его за стиль." }, { word: "чилл", translation: "отдых, расслабление", example: "Сегодня нужен чилл после тяжёлого дня." }, { word: "рофл", translation: "смех, шутка", example: "Это был чистый рофл, не обижайся." }, { word: "крипово", translation: "страшно, жутко", example: "Этот фильм реально криповый." }, { word: "лейм", translation: "скучный, неинтересный", example: "Эта вечеринка оказалась леймом." }, { word: "сап", translation: "приветствие (от англ. what's up?)", example: "Сап, как дела?" }, { word: "афк", translation: "вне игры, отошёл (от англ. away from keyboard)", example: "Я афк на 5 минут." }, { word: "ггвп", translation: "хорошая игра, хорошо сыграно (от англ. good game well played)", example: "ГГВП, отличная партия!" }, { word: "имхо", translation: "по моему мнению (от англ. in my humble opinion)", example: "ИМХО, этот фильм переоценён." }, { word: "лут", translation: "добыча, ценные предметы (в играх)", example: "Нашёл крутой лут в подземелье."}, { word: "гринд", translation: "монотонная прокачка (в играх)", example: "Целый день гриндил опыт." }, { word: "нуб", translation: "неопытный игрок", example: "Я пока нуб в этой игре." }, { word: "пати", translation: "группа игроков (от англ. party)", example: "Собрали пати на босса." }, { word: "дамаг", translation: "урон (в играх)", example: "Этот меч наносит много дамага." }, { word: "ачивка", translation: "достижение (в играх)", example: "Получил редкую ачивку!" }, { word: "бафф", translation: "усиление (в играх)", example: "Наложил бафф на команду." }, { word: "дебафф", translation: "ослабление (в играх)", example: "Противник наложил дебафф." }, { word: "респаун", translation: "возрождение (в играх)", example: "После смерти респаун через 10 секунд." }, { word: "лаг", translation: "задержка, торможение (в играх/сети)", example: "Из‑за лага проиграл." }, { word: "челлэндж", translation: "вызов, испытание", example: "Принял челлэндж пробежать марафон." }, { word: "вайн", translation: "жалоба, нытьё", example: "Хватит вайнить, решай проблему." }, { word: "крафтить", translation: "создавать, изготавливать (в играх/жизни)", example: "Крафтил броню весь вечер." }, { word: "дроп", translation: "выпадение предмета (в играх)", example: "С босса упал редкий дроп." }, { word: "фарм", translation: "сбор ресурсов (в играх)", example: "Фармил золото для покупки." }, { word: "хил", translation: "лечение (в играх)", example: "Нужен хил, здоровье на нуле." }, { word: "танк", translation: "игрок, принимающий урон", example: "Наш танк держит агрессию босса." }, { word: "дд", translation: "игрок, наносящий урон (от англ. damage dealer)", example: "ДД должен фокусироваться на боссе." }, { word: "саппорт", translation: "игрок‑поддержка", example: "Без саппорта команда слабеет." }, { word: "пушить", translation: "наступать, давить (в играх)", example: "Пора пушить вражескую базу." }, { word: "тильт", translation: "состояние гнева после неудач", example: "После трёх смертей ушёл в тильт." }, { word: "мета", translation: "актуальная стратегия/предметы (в играх)", example: "Сейчас в мете этот герой." }, { word: "нерф", translation: "ослабление (в играх)", example: "Разработчики нерфили этот навык." }, { word: "ап", translation: "усиление (в играх)", example: "После апа герой стал имбой." }, { word: "квикплей", translation: "быстрая игра (в онлайн‑играх)", example: "Запустим квикплей на вечер?" }, { word: "рейд", translation: "групповая атака на сильного противника (в играх)", example: "Сегодня вечером идём в рейд на босса." }, { word: "скипать", translation: "пропускать (от англ. skip)", example: "Скипну эту серию, неинтересно." }, { word: "триггер", translation: "то, что вызывает сильную эмоциональную реакцию", example: "Эти новости — мой триггер." }, { word: "флешфорвард", translation: "забегать вперёд, предвосхищать события", example: "Не флешфордь, давай по порядку." }, { word: "челлэнджить", translation: "ставить вызов, бросать вызов", example: "Я челлэнджу тебя пробежать 5 км." }, { word: "эпик", translation: "что‑то грандиозное, впечатляющее", example: "Этот концерт — просто эпик!" }, { word: "лутать", translation: "собирать добычу (в играх)", example: "После боя пошли лутать сундуки." }, { word: "паверкрип", translation: "постепенное усиление новых элементов игры, делающее старые менее ценными", example: "Из‑за паверкрипа старые скиллы уже не работают." }, { word: "кастовать", translation: "использовать заклинание (в играх)", example: "Кастую огненный шар!" }, { word: "спидранить", translation: "проходить игру на скорость", example: "Он спидранит Dark Souls за 2 часа." }, { word: "забустить", translation: "помочь поднять ранг/уровень (в играх)", example: "Давай забустим твоего персонажа." }, { word: "руинить", translation: "портить игру команде своими действиями", example: "Он руинит матч, играя в одиночку." }, { word: "сейвить", translation: "сохранять, защищать (в играх)", example: "Нужно сейвить ресурсы до финала." }, { word: "пикнуть", translation: "выбрать персонажа/карту (в играх)", example: "Пикнем этого героя для команды." }, { word: "рашить", translation: "быстро атаковать, штурмовать", example: "Рашим базу противника!" }, { word: "кемпер", translation: "игрок, который прячется и ждёт (в шутерах)", example: "В углу сидит кемпер." }, { word: "лаки", translation: "удачливый игрок", example: "Он выиграл чисто по лаки." }, { word: "маунт", translation: "ездовое животное (в играх)", example: "Мой маунт — огненный дракон." }, { word: "саммонер", translation: "персонаж, призывающий существ (в играх)", example: "Саммонер вызвал армию скелетов." }, { word: "хилер", translation: "персонаж‑медик (в играх)", example: "Без хилера мы не выживем." }, { word: "читер", translation: "нечестный игрок, использующий баги/моды", example: "Его забанили за читерство." }, { word: "баг", translation: "ошибка в программе/игре", example: "Из‑за бага игра вылетает." }, { word: "демка", translation: "демоверсия игры или запись матча", example: "Посмотрел демку нового экшена." }, { word: "ивент", translation: "игровое событие (часто временное)", example: "На сервере идёт новогодний ивент." }, { word: "лор", translation: "история и детали игрового мира", example: "Изучил лор вселенной игры." }, { word: "чекпоинт", translation: "точка сохранения в игре", example: "Дошёл до чекпоинта и сохранил игру." }, { word: "кулдаун", translation: "время перезарядки умения/оружия", example: "Жди кулдаун, потом атакуй." }, { word: "квест", translation: "задание в игре", example: "Выполняю квест на поиск артефакта." }, { word: "мейнквест", translation: "основное сюжетное задание", example: "Прохожу мейнквест." }, { word: "сайдквест", translation: "дополнительное задание (не влияет на сюжет)", example: "Сделал пару сайдквестов." }, { word: "ваншот", translation: "убийство с одного удара", example: "Он ваншотит всех врагов." }, { word: "голда", translation: "внутриигровая валюта", example: "Накопил много голды." }, { word: "абилка", translation: "умение персонажа", example: "Моя главная абилка — огненный взрыв." }, { word: "перк", translation: "уникальная способность (открывается со временем)", example: "Получил новый перк на скрытность." }, { word: "респ", translation: "место возрождения персонажа", example: "Вернулся на респ после смерти." }, { word: "стамина", translation: "выносливость персонажа", example: "Кончилась стамина, нужно отдохнуть." }, { word: "стелс", translation: "скрытное прохождение", example: "Использую стелс, чтобы не заметили." }, { word: "хп", translation: "очки здоровья (от англ. health points)", example: "У меня осталось 10 ХП." }, { word: "агрить", translation: "провоцировать врагов на атаку", example: "Агрю мобов, чтобы отвлечь." }, { word: "дамажить", translation: "наносить урон", example: "Пора дамажить босса!" }, ]; const searchInput = document.getElementById('searchInput'); const searchButton = document.getElementById('searchButton'); const resultsDiv = document.getElementById('results'); const loadingDiv = document.getElementById('loading'); const paginationDiv = document.getElementById('pagination'); const themeToggle = document.getElementById('themeToggle'); const body = document.getElementById('body'); const itemsPerPage = 5; let currentPage = 1; // Переключение темы themeToggle.addEventListener('change', () => { if (themeToggle.checked) { body.setAttribute('data-theme', 'dark'); } else { body.setAttribute('data-theme', 'light'); } }); // Поиск сленга function searchSlang() { const query = searchInput.value.trim().toLowerCase(); resultsDiv.innerHTML = ''; paginationDiv.innerHTML = ''; loadingDiv.classList.remove('hidden'); if (!query) { loadingDiv.classList.add('hidden'); return; } const matches = slangData.filter(item => item.word.toLowerCase().includes(query) ); loadingDiv.classList.add('hidden'); displayResults(matches); } // Отображение результатов function displayResults(matches) { const totalPages = Math.ceil(matches.length / itemsPerPage); if (matches.length === 0) { resultsDiv.innerHTML = '<p>Ничего не найдено.</p>'; return; } currentPage = currentPage > totalPages ? 1 : currentPage; const startIndex = (currentPage - 1) * itemsPerPage; const endIndex = startIndex + itemsPerPage; const currentItems = matches.slice(startIndex, endIndex); let resultsHTML = ''; currentItems.forEach(item => { resultsHTML += ` <div class="result-item"> <h3>${item.word}</h3> <p><strong>Перевод:</strong> ${item.translation}</p> <p><strong>Пример:</strong> ${item.example}</p> </div>`; }); resultsDiv.innerHTML = resultsHTML; displayPagination(totalPages); } // Пагинация function displayPagination(totalPages) { let paginationHTML = ''; for (let i = 1; i <= totalPages; i++) { paginationHTML += ` <button class="page-btn ${i === currentPage ? 'active' : ''}" data-page="${i}"> ${i} </button>`; } paginationDiv.innerHTML = paginationHTML; document.querySelectorAll('.page-btn').forEach(btn => { btn.addEventListener('click', () => { currentPage = parseInt(btn.getAttribute('data-page')); searchSlang(); }); }); } // Обработчики событий searchButton.addEventListener('click', searchSlang); searchInput.addEventListener('keyup', (e) => { if (e.key === 'Enter' || e.keyCode === 13) searchSlang(); }); // Инициализация window.addEventListener('load', () => { displayResults(slangData.slice(0, itemsPerPage)); });