{ const level = parseInt(header.tagName.substring(1)); // Присвоим id заголовку если его нет if (!header.id) { header.id = header.textContent.trim().toLowerCase().replace(/\s+/g, '-').replace(/[^\w\-]+/g, ''); } // Создаем пункт списка const li = document.createElement('li'); const a = document.createElement('a'); a.href = '#' + header.id; a.textContent = header.textContent; li.appendChild(a); // Управление уровнем вложенности if (level === currentLevel) { // Одинаковый уровень — добавляем в текущий список currentList.appendChild(li); } else if (level > currentLevel) { // Создаем вложенный список const newList = document.createElement('ul'); newList.appendChild(li); // Добавляем новый список как вложенный к последнему пункту предыдущего уровня listsStack[listsStack.length - 1].lastElementChild.appendChild(newList); listsStack.push(newList); currentList = newList; currentLevel = level; } else { // Возврат на уровень выше — вынимаем списки из стека while (level < currentLevel && listsStack.length > 1) { listsStack.pop(); currentLevel--; } currentList = listsStack[listsStack.length - 1]; currentList.appendChild(li); } }); tocContainer.appendChild(tocList); });
We use cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.