희소성 효과

Scarcity effect

실제 재고나 좌석이 적다는 정보는 결정 시점을 앞당길 수 있습니다.

···
html
<div class="stock"><div class="head"><b>WORKSHOP SEATS</b><span><em id="left">04</em> LEFT</span></div><div class="seats"><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div><div class="foot">BOOKINGS UPDATE AVAILABILITY</div></div>
css
@media(min-width:700px){body>div{transform:scale(1.45)}}.stock{width:min(86%,470px);font:800 clamp(10px,max(2vmin,1vw),16px)/1.2 sans-serif}.head{display:flex;justify-content:space-between;align-items:center;gap:10px}.head span{background:var(--accent);color:white;padding:6px 9px;white-space:nowrap}.head em{font-style:normal}.seats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(5px,2vmin,12px);margin:clamp(14px,4vmin,30px) 0}.seats i{height:clamp(22px,7vmin,52px);background:var(--line);border-radius:6px 6px 2px 2px;transition:background .3s,transform .3s}.seats i.free{background:var(--accent-2);transform:translateY(-3px)}.foot{border-top:2px solid var(--fg);padding-top:8px;color:var(--muted);letter-spacing:.06em;font-size:clamp(10px,max(1.5vmin,1vw),12px)}
js
const seats=[...document.querySelectorAll('.seats i')];const label=document.querySelector('#left');let count=4;function paint(){seats.forEach((seat,i)=>seat.classList.toggle('free',i>=8-count));label.textContent=String(count).padStart(2,'0')}paint();setInterval(()=>{count=count<=1?4:count-1;paint()},1100);

희소성 효과는 이용 가능한 자원이 제한됐다고 알 때 가치나 긴급성을 더 크게 느끼는 현상입니다. 재고나 좌석 수처럼 제한의 이유가 명확해야 의미가 있습니다.

데모는 좌석이 예약될 때 남은 좌석 표시가 함께 줄어드는 흐름입니다. 단순한 카운트다운과 달리 실제 가용 수량에 연결된 표시라는 점이 핵심입니다.

재고와 무관하게 반복 초기화되는 타이머나 허위 수량은 쓰지 마세요. 품절 위험을 알리더라도 취소 조건과 재입고 가능성을 숨기지 않아야 합니다.

언제 쓰나

좌석·재고가 실제로 제한될 때만 가용 수량을 표시합니다.

페이지로 열기 ↗