실시간 문의 현황
<div class="dbboxs">
<h6><strong style="letter-spacing: -0.5px;">실시간 문의 현황</strong></h6>
<div class="dbbox">
<div class="innerbox"></div> <!-- 데이터 목록 -->
</div>
</div>
<style>
.dbbox {
display: flex;
flex-direction: column;
overflow: hidden;
height: 245px;
}
.innerbox {
display: flex;
flex-direction: column;
}
.datab {
background-color: rgba(5, 150, 255, 0.2);
display: flex;
gap: 20px;
padding: 8px 10px;
border-radius: 8px;
margin-bottom: 5px;
min-height: 45px;
align-items: center;
font-size: 16px;
}
</style>
<script>
const innerbox = document.querySelector('.innerbox');
function getRandomNumber() {
const first = Math.floor(Math.random() * 9) + 1;
const last = Math.floor(Math.random() * 9) + 1;
return `010-${first}***-${last}***`;
}
function getRandomName() {
const names = ['김', '이', '박', '최', '정', '강', '조', '윤', '장', '임', '오', '한', '신', '서', '권'];
return `${names[Math.floor(Math.random() * names.length)]}**`;
}
function getTodayDate() {
const today = new Date();
return `${String(today.getFullYear()).slice(2)}. ${String(today.getMonth() + 1).padStart(2, '0')}. ${String(today.getDate()).padStart(2, '0')}`;
}
const dataList = [];
for (let i = 0; i < 30; i++) {
dataList.push({ date: getTodayDate(), num: getRandomNumber(), name: getRandomName() });
}
function renderList() {
innerbox.innerHTML = '';
dataList.forEach(data => {
const div = document.createElement('div');
div.classList.add('datab');
div.innerHTML = `<div>${data.date}</div><div>${data.num}</div><div>${data.name}</div>`;
innerbox.appendChild(div);
});
}
renderList();
let currentIndex = 0;
function scrollList() {
const total = dataList.length;
const height = 50;
innerbox.style.transition = "transform 0.5s ease-in-out";
innerbox.style.transform = `translateY(-${currentIndex * height}px)`;
if (currentIndex > total - 5) {
setTimeout(() => {
innerbox.style.transition = "none";
innerbox.style.transform = "translateY(0)";
currentIndex = 0;
}, 500);
} else {
currentIndex++;
}
}
setInterval(scrollList, 1000);
</script>