제스쳐 애니메이션? 어떤 구현법이 가능할까요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
제스쳐 애니메이션? 어떤 구현법이 가능할까요?

QA

제스쳐 애니메이션? 어떤 구현법이 가능할까요?

답변 2

본문

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=876935

 

이거처럼  마우스 오버시에  책이 각도로 돌아가는 입체표현을 

어떤 방법으로 한걸까요?   아시는 고수님  도움 바랍니다.

 

3718405870_1735591840.2929.png

이 질문에 댓글 쓰기 :

답변 2

"""책이 각도로 돌아가는 입체표현을 

어떤 방법으로 한걸까요?"""

= 두 이미지로 앞면과 뒷면을 설정하여 3D 전환(입체 회전) 구현이 가능합니다.

 

이미지에 마우스 오버 시 "Original_image.png"에서 "Mouse_over_image.png"로 전환하는

애니메이션은 HTML과 CSS를 활용하여 간단히 구현할 수 있습니다.

HTML 코드에서는 <img> 태그에 두 이미지를 포함시키고,

CSS를 통해 :hover 속성을 사용하여 이미지 변경 효과를 정의합니다.

애니메이션 효과를 추가하려면 transition 속성을 활용하여 부드러운 전환이 가능합니다.

 

*HTML 구조:

<div> 태그 안에 기본 이미지를 배치.

마우스 오버 시 대체 이미지를 활성화하도록 클래스 설정.

*CSS 스타일링:

기본 이미지는 position: relative로 설정.

대체 이미지는 position: absolute와 opacity: 0으로 숨김 처리.

:hover 시 opacity를 1로 전환하며 transition 속성으로 애니메이션 효과 추가.

*JavaScript(선택 사항):

더욱 복잡한 상호작용을 원할 경우 JavaScript로 동적 이미지 전환 구현.

 

※ 영카트의 경우 ;

*skin/shop/basic/item.info.skin.php


<section id="sit_info">
    <div id="sit_tab">
        <ul class="tab_tit">
            ...
        </ul>
        <ul class="tab_con">
            <li id="sit_inf">
                <h2 class="contents_tit"><span>상품 정보</span></h2>
                <div class="image-container">
                    <div class="flip-card">
                        <div class="flip-card-inner">
                            <div class="flip-card-front">
                                <img src="/img/Original_image.png" alt="Original Image">
                            </div>
                            <div class="flip-card-back">
                                <img src="/img/Mouse_over_image.png" alt="Mouse Over Image">
                            </div>
                        </div>
                    </div>
                </div>
                ...
            </li>
            ...
        </ul>
    </div>
</section>

*css/default_shop.css


.image-container {
    perspective: 1000px; /* 3D 효과를 위한 원근 추가 */
    width: 300px; /* 이미지 너비 */
    height: 300px; /* 이미지 높이 */
    overflow: hidden;
    position: relative;
}
.flip-card {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d; /* 3D 공간 유지 */
    transition: transform 0.6s ease-in-out;
    position: relative;
}
.flip-card-inner {
    width: 100%;
    height: 100%;
    position: absolute;
    transform-style: preserve-3d;
}
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden; /* 뒷면 숨기기 */
}
.flip-card-front {
    background-color: #ffffff;
}
.flip-card-back {
    background-color: #ffffff;
    transform: rotateY(180deg); /* 뒤집힌 상태 */
}
.image-container:hover .flip-card {
    transform: rotateY(180deg); /* 마우스 오버 시 180도 회전 */
}

*js/shop.list.js


document.addEventListener("DOMContentLoaded", function () {
    var flipCard = document.querySelector('.flip-card');
    flipCard.addEventListener('mouseover', function () {
        this.style.transform = 'rotateY(180deg)';
    });
    flipCard.addEventListener('mouseout', function () {
        this.style.transform = 'rotateY(0deg)';
    });
});

1. Ctrl + U (소스보기)
2. divFilpImg 키워드로 검색해 HTML/CSS/JS 소스 복사

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로