Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

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

Страница интерфейса MediaWiki
Дополнительные действия
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
document.addEventListener("DOMContentLoaded", function() {
mw.hook('wikipage.content').add(function($content) {
    var dropdowns = document.querySelectorAll(".dropdown .dropbtn");
    $content.find('.dropbtn').on('click', function(event) {
        event.preventDefault();
        var dropdown = $(this).closest('.dropdown');
       
        // Закрываем все открытые списки
        $('.dropdown').not(dropdown).removeClass('active');


    dropdowns.forEach(function(dropbtn) {
         // Открываем или закрываем текущий список
         dropbtn.addEventListener("click", function(event) {
        dropdown.toggleClass('active');
            event.preventDefault();
 
            var parent = this.parentNode;
            var isActive = parent.classList.contains("active");
 
            // Закрываем все открытые списки перед открытием нового
            document.querySelectorAll(".dropdown").forEach(function(dropdown) {
                dropdown.classList.remove("active");
            });
 
            // Если текущий список не был открыт, открываем его
            if (!isActive) {
                parent.classList.add("active");
            }
        });
     });
     });
});
});

Версия от 16:28, 12 февраля 2025

/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
mw.hook('wikipage.content').add(function($content) {
    $content.find('.dropbtn').on('click', function(event) {
        event.preventDefault();
        var dropdown = $(this).closest('.dropdown');
        
        // Закрываем все открытые списки
        $('.dropdown').not(dropdown).removeClass('active');

        // Открываем или закрываем текущий список
        dropdown.toggleClass('active');
    });
});