반응형
1. 이미지 색상 변경 기능의 결과물
표시된 티셔츠 이미지를 클릭할 때마다 티셔츠의 표면색상이 랜덤하게 변경되는 기능을 구현했습니다.
동영상을 확인하면 기능의 결과물을 확인할 수 있습니다.
2. 필요한 이미지
주로 의류 쇼핑몰에서 사용자가 의류의 색상을 변경해 가면서 확인할 수 있는 기능으로 응용해 보면 좋을 것 같습니다.
의류제품을 아래와 같이 찍어서 준비했다고 가정합시다.
3. HTML 구조
HTML 태그 구조는 IMG 태그와 배경요소가 되는 div 태그 2개로만 구성된 심플한 구조입니다.
<link rel="stylesheet" href="./css/image_color_change.css">
<img src="./img/image_color_change.png">
<div id="background"></div>
4. CSS 스타일링
페이지의 전체 레이아웃을 구성하는 역할을 담당하는 스타일입니다.
(1) * 로 모든 요소를 초기화합니다.
(2) 이미지를 정중앙에 배치하기 위해서 body요소를 flex 지정을 하였습니다.
그리고 justify-content와 align-items를 center로 화면 가운데 배치했습니다.
(3) body 태그에 user-select:none으로 설정한 것은, 빠르게 클릭했을 때 이미지가 선택된 상태를 방지하기 위해서입니다
(4) #background 요소에 mix-blend-mode:hue;로 설정한 것은 아래 레이어의 명도와 채도는 유지하면서 색조만 변경되는 속성입니다.
@charset "UTF-8";
*{
margin:0;
padding:0;
}
html,body{height:100%;}
body{
overflow:hidden;
display:flex;
justify-content:center;
align-items:center;
}
#background{
position:absolute;
top:0;
width:100%;
height:100vh;
mix-blend-mode:hue;
}
5. 자바스크립트(Javascript) 기능 구현
클릭 이벤트를 정의하고 콜백함수 안에서 #bg 객체의 배경을 랜덤하게 수정되는 내용의 코딩을 작성했습니다.
const bg = document.getElementById('background');
bg.addEventListener('click',function() {
bg.style.backgroundColor = 'rgba('+randomColor()+','+randomColor()+','+randomColor()+')';
});
function randomColor(){
return Math.floor(Math.random() * 255);
}
반응형
'IT이야기' 카테고리의 다른 글
영카트 vs 카페24 - 쇼핑몰 솔루션 비교 및 선택 가이드 (2024) (1) | 2024.09.10 |
---|---|
웹 개발 작업환영에 AR 글라스가 미치는 영향 (0) | 2024.09.09 |
PHP가 이렇게 달라졌어요 (4) | 2024.09.05 |
좌우로 드래그되는 내비게이션 메뉴 (0) | 2024.08.31 |
비포 애프터 이미지 슬라이더 만들기 (0) | 2024.08.28 |