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

Материал из FREESTREET База знаний
Перейти к навигации Перейти к поиску
Нет описания правки
Метка: отменено
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 8: Строка 8:
}, { passive: false });
}, { passive: false });


function adjustContainerSize() {
    var container = document.querySelector('.event-container');
    var blocks = document.querySelectorAll('.event-container .event-block');


     // Рассчитываем общую ширину всех блоков
document.addEventListener("DOMContentLoaded", function() {
     var totalWidth = 0;
     // Функция для расчета часов
     blocks.forEach(function(block) {
     function calculateHours() {
         totalWidth += block.offsetWidth + 20; // 20px - это предполагаемый margin-right для каждого блока
        var table = document.getElementById("interactiveTable");
        for (var i = 1, row; row = table.rows[i]; i++) {
            var percent = parseFloat(row.cells[1].innerText);
            var userPercent = parseFloat(row.cells[2].children[0].value);
            var hours = ((100 - userPercent) / percent) / 60;
            row.cells[3].innerText = hours.toFixed(2);
        }
    }
 
    // Добавление события изменения для каждого поля ввода
    var inputs = document.querySelectorAll("#interactiveTable input");
     inputs.forEach(function(input) {
         input.addEventListener('input', calculateHours);
     });
     });
 
});
    // Устанавливаем ширину контейнера равной общей ширине всех блоков
    container.style.width = totalWidth + 'px';
}
 
// Вызываем функцию при первой загрузке страницы
adjustContainerSize();
 
// Добавляем обработчик события на изменение размера окна
window.addEventListener('resize', adjustContainerSize);

Текущая версия от 02:12, 21 декабря 2023

document.querySelector('.event-container').addEventListener('wheel', function(e) {
    if (e.deltaY > 0) {
        this.scrollLeft += 100;
    } else {
        this.scrollLeft -= 100;
    }
    e.preventDefault();
}, { passive: false });


document.addEventListener("DOMContentLoaded", function() {
    // Функция для расчета часов
    function calculateHours() {
        var table = document.getElementById("interactiveTable");
        for (var i = 1, row; row = table.rows[i]; i++) {
            var percent = parseFloat(row.cells[1].innerText);
            var userPercent = parseFloat(row.cells[2].children[0].value);
            var hours = ((100 - userPercent) / percent) / 60;
            row.cells[3].innerText = hours.toFixed(2);
        }
    }

    // Добавление события изменения для каждого поля ввода
    var inputs = document.querySelectorAll("#interactiveTable input");
    inputs.forEach(function(input) {
        input.addEventListener('input', calculateHours);
    });
});