동작하게 만들기: 첫 인터랙션
동작하게 만들기
프로필 카드는 멋져 보여요 — 하지만 그냥 가만히 있을 뿐이죠. 클릭해도, 눌러 봐도 아무 일도 일어나지 않아요. HTML은 구조이고 Tailwind는 스타일이기 때문이에요. 동작은 JavaScript의 몫입니다.
초보자에게 아무도 알려주지 않는 비밀: 바이브 코딩에서는 JavaScript를 외우지 않아요. 무슨 일이 일어나야 하는지를 설명하면, AI가 코드를 작성합니다. 동작은 그저 한 문장이에요:
"누군가 좋아요 버튼을 클릭하면, 하트 옆 숫자가 1씩 올라간다."
이 프롬프트를 AI에 주면, 이런 작은 코드가 나옵니다:
const btn = document.getElementById("like-btn");
btn.addEventListener("click", () => {
likes = likes + 1;
count.textContent = likes;
});
이게 다예요. 매번 세 가지 동작이죠:
- 요소를 찾고 (
getElementById) - 이벤트를 듣고 (
addEventListener("click", ...)) - 무언가를 바꾼다 (
textContent, 클래스, 무엇이든)
찾고, 듣고, 바꾸기. 여러분이 써 본 거의 모든 웹사이트의 거의 모든 인터랙션 — 드롭다운, 다크 모드 토글, 좋아요 버튼 — 이 모두 이 패턴의 변형이에요.
이번 레슨에서는 카드에 좋아요 카운터를 추가합니다. 레슨이 끝나면, 하트를 클릭하고 여러분이 제어하는 숫자가 올라가는 걸 보게 될 거예요. 페이지가 앱이 되는 순간이죠.
안내
CTA 링크 아래에 하트 이모지와 <span id="like-count">0</span>이 들어간 <button id="like-btn">을 추가하세요
힌트: 이렇게 해 보세요: `<button id="like-btn" class="mt-4 w-full flex items-center justify-center gap-2 bg-white/10 hover:bg-white/20 border border-white/20 font-bold py-3 rounded-xl transition-all">❤️ <span id="like-count">0</span></button>`
</body> 바로 앞에 빈 <script> 태그를 추가하세요 — 동작이 사는 곳이에요
스크립트 안에서 버튼과 카운터, 두 요소를 잡아 오세요. 여러분이 붙인 id로 document.getElementById를 사용하세요
클릭을 들으세요: 버튼에 addEventListener("click", ...)을 달고 — likes를 1 늘린 다음 카운터의 textContent를 업데이트하세요
내 코드
이 단계에서 만들고 싶은 것을 설명해 주시면 코드를 작성해 드릴게요 — 그다음 적용을 클릭하면 에디터에 바로 들어갑니다. 이 단계: CTA 링크 아래에 하트 이모지와 <span id="like-count">0</span>이 들어간 <button id="like-btn">을 추가하세요