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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 7: Строка 7:


     var containerWidth = container.offsetWidth;
     var containerWidth = container.offsetWidth;
     var eventSpacing = 25;  
     var eventSpacing = 15;
    var lineHeight = 50;
    var currentRow = 0;
    var maxEventsPerRow = Math.floor(containerWidth / (containerWidth * eventSpacing / 100));


     Array.prototype.forEach.call(events, function (event, index) {
     Array.prototype.forEach.call(events, function (event, index) {
         var leftPercentage = index * eventSpacing;  
         var leftPercentage = (index % maxEventsPerRow) * eventSpacing;
         if (leftPercentage >= 100) {
         if (index >= maxEventsPerRow) {
             leftPercentage = 100;  
             currentRow = Math.floor(index / maxEventsPerRow);
             event.style.top = (Math.floor(index / 4) * 50) + 'px';  
             event.style.top = (currentRow * lineHeight) + 'px'; // Перенос на новую строку
         }
         }
         event.style.left = leftPercentage + '%';
         event.style.left = leftPercentage + '%';
     });
     });
})();
})();

Версия от 06:27, 17 января 2025

(function () {
    var container = document.querySelector('.timeline-container');
    if (!container) return;

    var events = document.querySelectorAll('.timeline-event');
    if (!events.length) return;

    var containerWidth = container.offsetWidth;
    var eventSpacing = 15; 
    var lineHeight = 50; 
    var currentRow = 0;
    var maxEventsPerRow = Math.floor(containerWidth / (containerWidth * eventSpacing / 100));

    Array.prototype.forEach.call(events, function (event, index) {
        var leftPercentage = (index % maxEventsPerRow) * eventSpacing;
        if (index >= maxEventsPerRow) {
            currentRow = Math.floor(index / maxEventsPerRow);
            event.style.top = (currentRow * lineHeight) + 'px'; // Перенос на новую строку
        }
        event.style.left = leftPercentage + '%';
    });
})();