|
|
|
|
@ -710,20 +710,21 @@ $(document).ready(function() {
|
|
|
|
|
var $ticker = $("#scheduleTicker");
|
|
|
|
|
$ticker.empty();
|
|
|
|
|
|
|
|
|
|
// 현재 시간 이후의 스케줄만 필터링 및 정렬
|
|
|
|
|
var filteredSchedules = filterAndSortSchedules(schedules, now);
|
|
|
|
|
|
|
|
|
|
// 최대 10개까지만 표시
|
|
|
|
|
var displaySchedules = filteredSchedules.slice(0, 10);
|
|
|
|
|
|
|
|
|
|
if (displaySchedules.length === 0) {
|
|
|
|
|
if (schedules.length === 0) {
|
|
|
|
|
$ticker.append('<div class="schedule-item">오늘과 내일의 예정된 일정이 없습니다.</div>');
|
|
|
|
|
} else {
|
|
|
|
|
// 스케줄 항목을 2번 반복 추가 (무한 롤링 효과)
|
|
|
|
|
for (var i = 0; i < 2; i++) {
|
|
|
|
|
displaySchedules.forEach(function(schedule) {
|
|
|
|
|
appendScheduleItem($ticker, schedule);
|
|
|
|
|
});
|
|
|
|
|
// 스케줄 항목을 1번만 추가 (중복 방지)
|
|
|
|
|
schedules.forEach(function(schedule) {
|
|
|
|
|
appendScheduleItem($ticker, schedule);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 무한 롤링 효과를 위한 CSS 애니메이션 조정
|
|
|
|
|
var $items = $ticker.find('.schedule-item');
|
|
|
|
|
// 일정이 2개 이상일 때만 첫 번째 아이템의 복제본을 마지막에 추가 (무한 롤링 효과 유지)
|
|
|
|
|
if ($items.length > 1) {
|
|
|
|
|
// 첫 번째 아이템의 복제본을 마지막에 추가 (무한 롤링 효과 유지)
|
|
|
|
|
var $firstItem = $items.first().clone(true);
|
|
|
|
|
$ticker.append($firstItem);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -737,26 +738,7 @@ $(document).ready(function() {
|
|
|
|
|
console.log('[스케줄] updateScheduleTicker 끝(롤링 시작):', new Date().toISOString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 일정 필터링 및 정렬 함수
|
|
|
|
|
* @param {Array} schedules - 일정 데이터 배열
|
|
|
|
|
* @param {Date} now - 현재 시간
|
|
|
|
|
* @return {Array} 필터링 및 정렬된 일정 배열
|
|
|
|
|
*/
|
|
|
|
|
function filterAndSortSchedules(schedules, now) {
|
|
|
|
|
// 현재 시간 이후의 스케줄만 필터링
|
|
|
|
|
var filtered = schedules.filter(function(schedule) {
|
|
|
|
|
var startDttm = new Date(schedule.startDttm);
|
|
|
|
|
return startDttm >= now;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 시작 시간 기준으로 정렬
|
|
|
|
|
filtered.sort(function(a, b) {
|
|
|
|
|
return new Date(a.startDttm) - new Date(b.startDttm);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return filtered;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 일정 항목 추가 함수
|
|
|
|
|
|