마케터 실무도구/HTML
카테고리 클릭 시 제품 목록을 표시하는 방법
신마성
2025. 5. 5. 14:13
웹페이지에서 카테고리 클릭 시 해당 카테고리의 제품 목록을 하단에 표시하고,
제품 클릭 시 해당 페이지로 이동하는 기능을 구현할 수 있어요. 아래 방법을 따라 해 보세요.
1. HTML 코드 작성
먼저, HTML에서는 카테고리 항목과 제품 목록을 표시할 자리를 만들어야 해요.
<div class="category-menu">
<a class="category-item" href="#" data-category="침실">침실</a>
<a class="category-item" href="#" data-category="거실">거실</a>
<a class="category-item" href="#" data-category="주방">주방</a>
<!-- 추가 카테고리들 -->
</div>
<div id="product-list" class="product-list">
<!-- 클릭한 카테고리의 제품 목록이 여기에 표시됩니다. -->
</div>
2. CSS 코드
CSS는 카테고리 메뉴와 제품 목록을 깔끔하게 스타일링하는 부분이에요.
.category-menu {
display: flex;
justify-content: space-around;
padding: 20px 0;
background-color: #f1f1f1;
border-bottom: 1px solid #ddd;
}
.category-item {
text-decoration: none;
font-size: 18px;
color: #000;
cursor: pointer;
}
.category-item:hover {
color: #007bff;
}
.product-list {
margin-top: 20px;
display: flex;
flex-wrap: wrap;
gap: 20px;
padding: 20px;
}
.product-item {
text-align: center;
width: 150px;
}
.product-item img {
width: 100%;
height: auto;
border-radius: 8px;
}
.product-item a {
text-decoration: none;
color: #007bff;
display: block;
margin-top: 10px;
}
.product-item a:hover {
text-decoration: underline;
}
3. JavaScript 코드 (GitHub에 업로드 후 사용)
자바스크립트는 GitHub에 파일을 업로드하고, 그 Raw URL을 사용해 연결하는 방법이에요.
- GitHub에 자바스크립트 파일 업로드:
- script.js 라는 파일을 GitHub에 업로드하고, 해당 파일에 아래의 자바스크립트 코드를 넣어요.
- GitHub에서 Raw URL 가져오기:
- 파일을 업로드한 후, Raw URL을 가져와야 된다는 걸 기억해 주세요.
- URL 예시: https://raw.githubusercontent.com/your-username/your-repository/main/script.js
- 자바스크립트 연결:
- 아래처럼 <script> 태그로 Raw URL을 사용해 자바스크립트 파일을 연결해 주세요.
- 자바스크립트 파일은 HTML 파일 하단에 추가해야 합니다. 이렇게 해야 페이지가 로드된 후 자바스크립트가 실행됩니다.
<script src=" 나의_raw_url_ 주소입력"></script>
4. JavaScript 코드
자바스크립트는 카테고리 클릭 시 해당 카테고리 제품 목록을 동적으로 표시하는 기능을 담당해요.
document.addEventListener("DOMContentLoaded", function() {
const categoryItems = document.querySelectorAll('.category-item');
const productList = document.getElementById('product-list');
// 각 카테고리별 제품 목록
const products = {
'침실': [
{ name: '침대', url: '침대_URL', img: '침대_이미지_URL' },
{ name: '서랍장', url: '서랍장_URL', img: '서랍장_이미지_URL' },
{ name: '옷장', url: '옷장_URL', img: '옷장_이미지_URL' },
],
'거실': [
{ name: '소파', url: '소파_URL', img: '소파_이미지_URL' },
{ name: '커튼', url: '커튼_URL', img: '커튼_이미지_URL' },
{ name: 'TV', url: 'TV_URL', img: 'TV_이미지_URL' },
],
'주방': [
{ name: '냉장고', url: '냉장고_URL', img: '냉장고_이미지_URL' },
{ name: '식탁', url: '식탁_URL', img: '식탁_이미지_URL' },
{ name: '조리기구', url: '조리기구_URL', img: '조리기구_이미지_URL' },
]
};
categoryItems.forEach(item => {
item.addEventListener('click', function(event) {
event.preventDefault();
const category = item.dataset.category;
// 해당 카테고리의 제품 목록을 표시해요.
const categoryProducts = products[category] || [];
// 제품 목록 초기화
productList.innerHTML = '';
// 카테고리 제품 목록 표시
categoryProducts.forEach(product => {
const productElement = document.createElement('div');
productElement.classList.add('product-item');
productElement.innerHTML = `
<img src="${product.img}" alt="${product.name}">
<a href="${product.url}" target="_blank">${product.name}</a>
`;
productList.appendChild(productElement);
});
});
});
});
5. 결과 확인
이제 웹페이지에서 카테고리 클릭 시 해당 카테고리의 제품 목록이
하단에 표시되고, 각 제품 클릭 시 해당 페이지로 이동할 수 있어요.
페이지를 새로 고침한 후, 자바스크립트 파일이 제대로 동작하는지 확인해 주세요.