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

Страница интерфейса MediaWiki
Нет описания правки
Метка: отменено
Нет описания правки
Метка: отменено
Строка 15: Строка 15:
         {name: 'Вокс', img: 'Вокс.png', link: 'Вокс'}
         {name: 'Вокс', img: 'Вокс.png', link: 'Вокс'}
     ];
     ];
    var currentIndex = 0;


     var container = document.createElement('div');
     var container = document.createElement('div');
     container.className = 'race-container';
     container.className = 'race-carousel';
 
    // Центральная карточка с стрелками
    var main = document.createElement('div');
    main.className = 'race-main';
 
    var leftArrow = document.createElement('span');
    leftArrow.className = 'arrow';
    leftArrow.innerHTML = '◀';
    main.appendChild(leftArrow);


     for (var i = 0; i < races.length; i++) {
     var largeCard = document.createElement('div');
        var race = races[i];
    largeCard.className = 'race-card-large';
    main.appendChild(largeCard);


        var card = document.createElement('div');
    var rightArrow = document.createElement('span');
        card.className = 'race-card';
    rightArrow.className = 'arrow';
    rightArrow.innerHTML = '&#9654;';
    main.appendChild(rightArrow);


        var nameDiv = document.createElement('div');
    container.appendChild(main);
        nameDiv.className = 'race-name';
        nameDiv.innerHTML = "[[" + race.name + "]]";
        card.appendChild(nameDiv);


        var imgDiv = document.createElement('div');
    // Мини-карточки
        imgDiv.className = 'race-image';
    var miniContainer = document.createElement('div');
        imgDiv.innerHTML = "[[File:" + race.img + "|link=" + race.link + "]]";
    miniContainer.className = 'race-mini-container';
        card.appendChild(imgDiv);


         container.appendChild(card);
    for (var i = 0; i < races.length; i++) {
         (function(index) {
            var mini = document.createElement('div');
            mini.className = 'race-mini';
            mini.innerHTML = "[[File:" + races[index].img + "|link=" + races[index].link + "]]";
            mini.onclick = function() {
                currentIndex = index;
                updateDisplay();
            };
            miniContainer.appendChild(mini);
        })(i);
     }
     }
    container.appendChild(miniContainer);
    // Информация о расе
    var infoDiv = document.createElement('div');
    infoDiv.className = 'race-info';
    container.appendChild(infoDiv);


     var target = document.querySelector('.race-display');
     var target = document.querySelector('.race-display');
     if (!target) {
     if (!target) target = document.body;
         target = document.body;
    target.appendChild(container);
 
    function updateDisplay() {
         var race = races[currentIndex];
        largeCard.innerHTML = "[[File:" + race.img + "|link=" + race.link + "]]<div class='race-name-large'>[[" + race.name + "]]</div>";
        infoDiv.innerHTML = 'Название расы: ' + race.name;
     }
     }
     target.appendChild(container);
 
     leftArrow.onclick = function() {
        currentIndex--;
        if (currentIndex < 0) currentIndex = races.length - 1;
        updateDisplay();
    };
 
    rightArrow.onclick = function() {
        currentIndex++;
        if (currentIndex >= races.length) currentIndex = 0;
        updateDisplay();
    };
 
    updateDisplay();
})();
})();

Версия от 11:51, 31 августа 2025

(function() {
    var races = [
        {name: 'Человек', img: 'Человек.png', link: 'Человек'},
        {name: 'Унатх', img: 'Унатх.png', link: 'Унатх'},
        {name: 'Дворф', img: 'Дворф.png', link: 'Дворф'},
        {name: 'Диона', img: 'Диона.png', link: 'Диона'},
        {name: 'Кидан', img: 'Кидан.png', link: 'Кидан'},
        {name: 'Фелинид', img: 'Фелинид.png', link: 'Фелинид'},
        {name: 'Родентия', img: 'Родения.png', link: 'Родентия'},
        {name: 'Авали', img: 'Авали.png', link: 'Авали'},
        {name: 'Вульпканин', img: 'Вульпанит.png', link: 'Вульпканин'},
        {name: 'Арахнид', img: 'Арахнид.png', link: 'Арахнид'},
        {name: 'Слаймолюд', img: 'Слаймолюд.png', link: 'Слаймолюд'},
        {name: 'Ниан', img: 'Ниан.png', link: 'Ниан'},
        {name: 'Вокс', img: 'Вокс.png', link: 'Вокс'}
    ];

    var currentIndex = 0;

    var container = document.createElement('div');
    container.className = 'race-carousel';

    // Центральная карточка с стрелками
    var main = document.createElement('div');
    main.className = 'race-main';

    var leftArrow = document.createElement('span');
    leftArrow.className = 'arrow';
    leftArrow.innerHTML = '&#9664;';
    main.appendChild(leftArrow);

    var largeCard = document.createElement('div');
    largeCard.className = 'race-card-large';
    main.appendChild(largeCard);

    var rightArrow = document.createElement('span');
    rightArrow.className = 'arrow';
    rightArrow.innerHTML = '&#9654;';
    main.appendChild(rightArrow);

    container.appendChild(main);

    // Мини-карточки
    var miniContainer = document.createElement('div');
    miniContainer.className = 'race-mini-container';

    for (var i = 0; i < races.length; i++) {
        (function(index) {
            var mini = document.createElement('div');
            mini.className = 'race-mini';
            mini.innerHTML = "[[File:" + races[index].img + "|link=" + races[index].link + "]]";
            mini.onclick = function() {
                currentIndex = index;
                updateDisplay();
            };
            miniContainer.appendChild(mini);
        })(i);
    }

    container.appendChild(miniContainer);

    // Информация о расе
    var infoDiv = document.createElement('div');
    infoDiv.className = 'race-info';
    container.appendChild(infoDiv);

    var target = document.querySelector('.race-display');
    if (!target) target = document.body;
    target.appendChild(container);

    function updateDisplay() {
        var race = races[currentIndex];
        largeCard.innerHTML = "[[File:" + race.img + "|link=" + race.link + "]]<div class='race-name-large'>[[" + race.name + "]]</div>";
        infoDiv.innerHTML = 'Название расы: ' + race.name;
    }

    leftArrow.onclick = function() {
        currentIndex--;
        if (currentIndex < 0) currentIndex = races.length - 1;
        updateDisplay();
    };

    rightArrow.onclick = function() {
        currentIndex++;
        if (currentIndex >= races.length) currentIndex = 0;
        updateDisplay();
    };

    updateDisplay();
})();