MediaWiki:Common.js: различия между версиями

мНет описания правки
мНет описания правки
Метка: ручная отмена
Строка 450: Строка 450:
         $toc.empty();
         $toc.empty();


        // Получаем все заголовки mw-headline и кастомные заголовки, исключая родительский элемент с ID 'toc-trigger-heading'
         var $headings = $content.find('.mw-headline, .custom-heading');
         var $headings = $content.find('.mw-headline').closest('h3, h2, h1').filter(function() {
            // Исключаем заголовок с ID 'toc-trigger-heading'
            return $(this).attr('id') !== 'toc-trigger-heading';
        }).addBack().sort(function(a, b) {
            // Сортировка по порядку появления на странице
            return $(a).index() - $(b).index();
        });


         var tocNumber = 1;
         var tocNumber = 1;
Строка 464: Строка 457:
         $headings.each(function() {
         $headings.each(function() {
             var $heading = $(this);
             var $heading = $(this);
             var sectionId = $heading.find('.mw-headline').attr('id') || 'heading-' + tocNumber;
             var sectionId = $heading.attr('id') || 'heading-' + tocNumber;
             $heading.find('.mw-headline').attr('id', sectionId); // Присваиваем уникальный id заголовку
             $heading.attr('id', sectionId); // Присваиваем уникальный id заголовку


             // Получаем текст заголовка
             // Получаем текст заголовка
             var headingText = $heading.find('.mw-headline').clone().children().remove().end().text().trim();
             var headingText = $heading.clone().children().remove().end().text().trim();


             // Создаем элемент в оглавлении (TOC)
             // Создаем элемент в оглавлении (TOC)