Dantes (обсуждение | вклад) Нет описания правки |
Dantes (обсуждение | вклад) Нет описания правки |
||
Строка 7: | Строка 7: | ||
var containerWidth = container.offsetWidth; | var containerWidth = container.offsetWidth; | ||
var eventSpacing = | 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 ( | if (index >= maxEventsPerRow) { | ||
currentRow = Math.floor(index / maxEventsPerRow); | |||
event.style.top = ( | 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 + '%'; }); })();