/
moshatin
/
Test
Обзор
Документация
Войти
/
moshatin
/
Test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test.js
54 строки
2 KB
moshatin
create test.js
02 фев 2026, 23:42
Верифицирован
02 фев 2026, 23:42
1502388
Код
Авторство
О чём код?
document.addEventListener('DOMContentLoaded', function () { // Универсвльная ф-я для функционала "показать больше", можно применять к разным блокам function showMore(element) { // Получаем элемент .desflaxe const desflaxe = document.querySelector(element); if (desflaxe) { // Создаём обёртку .collapse-text const wrapper = document.createElement('div'); wrapper.className = 'collapse-text'; // Вставляем .desflaxe внутрь обёртки desflaxe.parentNode.insertBefore(wrapper, desflaxe); wrapper.appendChild(desflaxe); if (wrapper.scrollHeight > wrapper.offsetHeight) { // Создаём ссылку const link = document.createElement('span'); link.className = 'link show-more-link'; link.innerHTML = 'Показать <span class="text-more">больше</span><span class="text-less">меньше</span>'; // Вставляем ссылку сразу после .collapse-text wrapper.parentNode.insertBefore(link, wrapper.nextSibling); // Добавляем обработчик клика link.addEventListener('click', (e) => { e.preventDefault(); wrapper.classList.toggle('open'); document.querySelector('.show-more-link').classList.toggle('open'); console.log(link); }); } else { wrapper.style.maxHeight = 'initial'; } } }; // Функция инициализации — вызываем один раз при загрузке function initShowMore() { showMore('.category-desc-wrapper'); } // Перезапуск инициализации при изменении размера окна let resizeTimer; window.addEventListener('resize', () => { clearTimeout(resizeTimer); resizeTimer = setTimeout(initShowMore, 250); // Дебаунс для производительности }); // Инициализация initShowMore(); })