Скрипт ищет в массиве у его потомком события even-item, если их большего одного то присваивает им класс overlap. Дальше (на примере 2 события найдены, но события добавляются динамически и их может быть и 10) цикл выводит динамические значения left и right. Проблема как корректно эти значения передать каждому из 2 событий (для первого left:0%, right: 50%, для второго left: 50%, right: 0%)
$('.week-view .hour-grid .days .day').each(function () {
const cell = $(this).find('.cell');
for (let i = 0; i < cell.length; i++) {
const eventsList = cell[i];
const events = eventsList.children.length; // 2
for (const event of eventsList.children) {
event.classList.add('overlap');
}
if (events > 1) {
for (let y = 0; y < events; y++) {
let left = 100 / events * y + '%';
let right = 100 - 100 / events * (y + 1) + '%';
console.log(left); //0% // 50%
console.log(right); //50% // 0%
$('.event-item.overlap').css({
'left': left,
'right': right
});
}
}
}
})