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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
document.addEventListener('DOMContentLoaded', function() {
document.addEventListener("DOMContentLoaded", function() {
     const weaponSelect = document.getElementById('weapon-select');
     const weaponSelect = document.getElementById('weapon-select');
     const bulletSelect = document.getElementById('bullet-select');
     const bulletSelect = document.getElementById('bullet-select');
     const dpsDisplay = document.getElementById('dps-display');
     const dpsDisplay = document.getElementById('dps-display');


     const WEAPONS = {  
    // Проверка наличия элементов
         Vulpaka: { fireRate: 6.6 }  
    if (!weaponSelect || !bulletSelect || !dpsDisplay) {
        console.error("Один из элементов интерфейса не найден!");
        return;
    }
 
     const WEAPONS = {
         'Vulpaka': { fireRate: 6.6 },
     };
     };
   
 
     const BULLETS = {  
     const BULLETS = {
         VulpakaBalls: { damage: 5 }  
         'VulpakaBalls': { damage: 5 },
     };
     };


     function updateDPS() {
    let currentWeapon = weaponSelect.value || Object.keys(WEAPONS)[0];
         const weapon = WEAPONS[weaponSelect.value];
    let currentBullet = bulletSelect.value || Object.keys(BULLETS)[0];
         const bullet = BULLETS[bulletSelect.value];
 
         dpsDisplay.textContent = (weapon.fireRate * bullet.damage).toFixed(1);
     function calculateDPS() {
         const weapon = WEAPONS[currentWeapon] || { fireRate: 0 };
         const bullet = BULLETS[currentBullet] || { damage: 0 };
          
        const dps = bullet.damage * weapon.fireRate;
        dpsDisplay.textContent = dps.toFixed(1);
     }
     }


     weaponSelect.addEventListener('change', updateDPS);
     weaponSelect.addEventListener('change', function() {
     bulletSelect.addEventListener('change', updateDPS);
        currentWeapon = this.value;
     updateDPS(); // Инициализация
        calculateDPS();
    });
 
     bulletSelect.addEventListener('change', function() {
        currentBullet = this.value;
        calculateDPS();
     });
 
    // Первоначальный расчёт
    calculateDPS();
});
});

Текущая версия от 20:03, 17 февраля 2025

document.addEventListener("DOMContentLoaded", function() {
    const weaponSelect = document.getElementById('weapon-select');
    const bulletSelect = document.getElementById('bullet-select');
    const dpsDisplay = document.getElementById('dps-display');

    // Проверка наличия элементов
    if (!weaponSelect || !bulletSelect || !dpsDisplay) {
        console.error("Один из элементов интерфейса не найден!");
        return;
    }

    const WEAPONS = {
        'Vulpaka': { fireRate: 6.6 },
    };

    const BULLETS = {
        'VulpakaBalls': { damage: 5 },
    };

    let currentWeapon = weaponSelect.value || Object.keys(WEAPONS)[0];
    let currentBullet = bulletSelect.value || Object.keys(BULLETS)[0];

    function calculateDPS() {
        const weapon = WEAPONS[currentWeapon] || { fireRate: 0 };
        const bullet = BULLETS[currentBullet] || { damage: 0 };
        
        const dps = bullet.damage * weapon.fireRate;
        dpsDisplay.textContent = dps.toFixed(1);
    }

    weaponSelect.addEventListener('change', function() {
        currentWeapon = this.value;
        calculateDPS();
    });

    bulletSelect.addEventListener('change', function() {
        currentBullet = this.value;
        calculateDPS();
    });

    // Первоначальный расчёт
    calculateDPS();
});