Array

MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


// COLLAPSIBLE HEADER - Estilo Wikipedia (flecha correcta)
// COLLAPSIBLE HEADER - Estilo Wikipedia
$(document).ready(function () {
$(document).ready(function () {
     $(".collapsible-header").each(function () {
     $(".collapsible-header").each(function () {
Line 25: Line 25:
         header.on("click", function () {
         header.on("click", function () {


             // Alternar visibilidad
             // Alternar visibilidad con animación suave
             content.slideToggle(200);
             content.slideToggle(150);


             // Alternar clase
             // Alternar clase
             header.toggleClass("open");
             header.toggleClass("open");


             // Cambiar flecha según estado
             // Cambiar flecha según estado (sin rotación, solo cambio de símbolo)
             var icon = header.hasClass("open") ? "▲" : "▼";
             var icon = header.hasClass("open") ? "▲" : "▼";
             header.find(".collapse-toggle").text(icon);
             header.find(".collapse-toggle").text(icon);

Revision as of 14:21, 28 November 2025

/* Any JavaScript here will be loaded for all users on every page load. */

// COLLAPSIBLE HEADER - Estilo Wikipedia
$(document).ready(function () {
    $(".collapsible-header").each(function () {

        var header = $(this);
        var content = header.next(".collapsible-content");

        if (content.length === 0) return;

        // Si comienza abierto según el template
        var startsOpen = header.hasClass("open");

        // Flecha correcta según estado inicial
        var arrow = startsOpen ? "▲" : "▼";

        // Insertar flecha al inicio
        header.prepend('<span class="collapse-toggle" aria-hidden="true">' + arrow + '</span>');

        // Mostrar/ocultar contenido según estado inicial
        if (!startsOpen) content.hide();

        // Click para expandir/colapsar
        header.on("click", function () {

            // Alternar visibilidad con animación suave
            content.slideToggle(150);

            // Alternar clase
            header.toggleClass("open");

            // Cambiar flecha según estado (sin rotación, solo cambio de símbolo)
            var icon = header.hasClass("open") ? "▲" : "▼";
            header.find(".collapse-toggle").text(icon);
        });
    });
});