테스트 사이트 - 개발 중인 베타 버전입니다

클래스로 호출하는 사이드 슬라이드를 개별적으로 ...

그때그언니 5년 전 조회 1,731

https://sir.kr/g5_skin/37382?sca=%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83&page=2

 

위 링크, 펄스나인님의 사이드 슬라이드를 설치해서 아주 잘 사용하고 있습니다. 활용도도 높고 반응형이라 너무 좋아요. 

 

 

 

이렇게 생겼답니다.

 

전 이걸 여러 링크에 적용시켜서 각각 다른 내용(상품 설명입니다)이 나오도록 하려고 했습니다. 여기서 문제가 생겼는데 폴더 이름을 바꿔서 여러개를 올리면 이 작업이 쉬울줄 알았던 겁니다.  근데 생각지도 않게 슬라이드를 호출하는 부분이 CSS 클래스로 호출을 하더라구요.

 

<a href="javascript:void(0);" class="sh-side-options-item-trigger-demos">열기</a>

 

이런 방식으로 호출이 됩니다. 

 

CSS 클래스로 호출을 하는건 처음이라 전혀 예상하지 못했습니다.  실례가 안된다면 메인 php 문서 전체를 올리겠습니다. 

 

 

 

</p>

<p> </p>

<p><style></p>

<p>    .sh-side-options {

        position: fixed;

        top: 0;

        bottom: 0;

        right: 0;

        z-index: 12345678902;

        transition: 0.3s all ease;

        transition: 0.2s all;

        padding: 0 0;

        width: 420px;

        transform: translateX(420px);

    }</p>

<p>    .sh-side-options.open {

        transform: translateX(0px);

        box-shadow: 0 0px 39px 10px rgba(0, 0, 0, 0.2);

    }</p>

<p>    .sh-side-options-container {

        position: absolute;

        bottom: 50px;

        left: -125px;

        width: 60px;

        background-color: rgba(255, 255, 255, 1);

        border-radius: 5px;

        margin-right: 15px;

        box-shadow: -10px 0px 20px 2px rgba(0, 0, 0, .06);

    }</p>

<p>

    .sh-side-options-item {

        display: block;

        text-align: center;

        margin: 0px;

        transition: 0.3s all ease-in-out;

        position: relative;

        padding: 7px;

        cursor: pointer;

    }</p>

<p>    .sh-side-options-item:not(:last-child) {

        border-bottom: 1px solid #f1f3fc;

    }</p>

<p>    .sh-side-options-item-container {

        border-radius: 4px;

        padding: 8px 0;

    }</p>

<p>    .sh-side-options-item:hover .sh-side-options-item-container,

    .sh-side-options-item:focus .sh-side-options-item-container,

    .sh-side-options.open .sh-side-options-item-trigger-demos .sh-side-options-item-container {

        background-color: #f3f5fd;

    }</p>

<p>    .sh-side-options-item i {

        font-size: 22px;

    }</p>

<p>    .sh-side-options-item:not(:hover):not(:focus) {

        color: #9396a5 !important;

    }</p>

<p>    .sh-side-options-item:hover .sh-side-options-hover {

        opacity: 1;

        transform: translateX(-97%);

    }</p>

<p>    .sh-side-options-hover {

        position: absolute;

        background-color: #ffffff;

        color: #32343d;

        padding: 20px 26px;

        transform: translateX(-70%);

        left: 0px;

        top: 0;

        bottom: 0;

        opacity: 0;

        transition: 0.2s all ease-in-out;

        z-index: -100;

        border-top-left-radius: 5px;

        border-bottom-left-radius: 5px;

        font-size: 13px;

        box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.08);

    }</p>

<p>    .sh-side-options-hover span {

        padding: 0px 3px;

    }</p>

<p>    .sh-side-options-item i {

        color: #9396a5 !important;

    }</p>

<p>    .sh-side-options.open .sh-side-options-item-trigger-demos i,

    .sh-side-options-item:hover i,

    .sh-side-options-item:focus i {

        color: #294cff !important;

    }</p>

<p>    .sh-side-demos-container {

        top: 0;

        left: 0;

        right: -17px;

        bottom: 0;

        position: absolute;

        overflow-y: scroll;

        background-color: #fff;

        background-repeat: no-repeat;

        background-position: right top;

        padding: 22px;

    }</p>

<p>    .sh-side-demos-container-close {

        position: absolute;

        top: 30px;

        right: 50px;

        cursor: pointer;

    }</p>

<p>    .sh-side-demos-container-close i {

        color: #c5c5c5;

        font-size: 18px;

        transition: 0.3s all ease;

    }</p>

<p>    .sh-side-demos-container-close:hover i,

    .sh-side-demos-container-close:focus i {

        color: #7f7f7f;

    }</p>

<p>

    /* Demo Items */

    .sh-side-demos-loop-container {

        position: relative;

        margin: 0 -10px;

        margin-top: 28px;

    }</p>

<p>    .sh-side-demos-item {

        display: inline-block;

        position: relative;

        margin-right: -4px;

        margin-bottom: 25px;

        width: 50%;

        padding: 0 10px;

        text-align: center;

        transition: .3s all ease;

        top: 0;

    }</p>

<p>    .sh-side-demos-item:hover {

        top: -4px;

    }</p>

<p>    .sh-side-demos-item .sh-image-lazy-loading {

        border-radius: 3px;

        box-shadow: 0 2px 20px 1px rgba(0, 0, 0, .1);

    }</p>

<p>    .sh-side-demos-item img {

        border-radius: 3px;

    }</p>

<p>    .sh-side-demos-item-name {

        font-size: 12px;

        color: #32343d;

        font-weight: 600;

        padding-top: 10px;

    }</p>

<p>    .sh-side-demos-item-tag {

        position: absolute !important;

        width: auto !important;

        height: auto !important;

        top: 4px;

        left: 6px;

        background-color: #ff5944;

        color: #fff;

        font-size: 9px;

        font-weight: 600;

        display: block;

        padding: 1px 9px;

        text-transform: capitalize;

        border-radius: 100px;

    }</p>

<p>    @media (max-width: 1000px) {</p>

<p>        .sh-side-options {

            /*display: none;*/

        }</p>

<p>        .sh-side-options {

            width: 350px;

            transform: translateX(350px);

        }</p>

<p>        .sh-side-options-container {

            bottom: 30px;

            left: -95px;

            margin-right: 15px;

        }</p>

<p>    }</p>

<p></style></p>

<p><style></p>

<p>    /* 폼예제 css */

    .re_input {

        width: 100%;

        height: 40px;

        border: 0px;

        border-radius: 4px;

        background-color: #f3f3f3;

        padding-left: 10px;

        line-height: 40px;

        color: #666 !important;

        font-size: 12px;

    }</p>

<p>    .re_input::placeholder {

        color: #999 !important;

        font-size: 12px;

    }</p>

<p>    .re_input2 {

        width: 97%;

        height: 150px;

        border: 0px;

        border-radius: 4px;

        background-color: #f3f3f3;

        padding: 10px;

        color: #666 !important;

        font-size: 12px;

    }</p>

<p>    .re_input2::placeholder {

        color: #999 !important;

        font-size: 12px;

    }</p>

<p>    .re_div {

        margin-top: 20px

    }</p>

<p>    .re_div2 {

        margin-top: 10px

    }</p>

<p>    .re_div3 {

        margin-top: 40px;

        color: #999;

        text-align: left;

    }</p>

<p>    .re_input3 {

        display: block;

        border: 0px;

        border-radius: 4px;

        background-color: #FFCC00;

        line-height: 40px;

        color: #000 !important;

        font-size: 14px;

        text-align: center;

        cursor: pointer;

    }</p>

<p>    .re_div3 h1 {

        font-size: 22px;

        letter-spacing: -1px;

        color: #333;

    }</p>

<p>    .re_div3 span {

        color: #333

    }</p>

<p>    /* 폼예제 css */

    

</style></p>

<p>

<div class="sh-side-options sh-side-options-pages">

    <div class="sh-side-options-container" style="margin-top:100px">

        

        <!-- 열기버튼 / 이미지경로 수정필요 -->

        <a class="sh-side-options-item sh-side-options-item-trigger-demos sh-accent-color">

            <div class="sh-side-options-item-container"><img src="./right_slide/image/open_btn.png"></div>

            <div class="sh-side-options-hover" style="padding-top:15px">Request</div>

        </a>

        <!-- //열기버튼 --></p>

<p>    </div></p>

<p>

    <div class="sh-side-demos-container">

        

        <!-- 닫기버튼 / 이미지경로 수정필요 -->

        <div class="sh-side-demos-container-close">

            <img src="./right_slide/image/close_btn.png">

        </div>

        <!-- //닫기버튼 --></p>

<p>        <div class="sh-side-demos-loop">

            <div class="sh-side-demos-loop-container" style="padding:0px 30px 0px 20px"></p>

<p>                <!-- 컨텐츠 시작 -->

                

                <div class="re_div3">

                    <h1><strong>온라인 고객지원</strong></h1>


                </div></p>

<p>                간단한 저예산 제작부터 대형 프로젝트


                합리적인 비용을 제안 드립니다.</p>

<p>                    <div class="re_div">

                        <input type="text" class="re_input font-r" required id="" name="" placeholder="성함(직책) *" style="width:70%;">

                    </div></p>

<p>                    <div class="re_div2">

                        <input type="tel" class="re_input font-r" required id="" name="" placeholder="휴대전화 번호 *" style="width:60%;">

                    </div></p>

<p>                    <div class="re_div2">

                        <input type="email" class="re_input font-r" required id="" name="" placeholder="회신받으실 이메일 *" style="width:90%;">

                    </div></p>

<p>                    <div class="re_div2">

                        <input type="text" id="" name="" class="re_input font-r" placeholder="제작예산 예) 500만원" style="width:80%;">

                    </div></p>

<p>                    <div class="re_div2">

                        <textarea id="" name="" class="re_input2 font-r" required placeholder="문의내용 *"></textarea>

                    </div></p>

<p>                    <div class="re_div">

                        <input type="submit" value="접수하기" id="contact_submit" class="re_input3 font-b" style="width:200px;" />

                    </div></p>

<p>                    <div class="re_div3">

                        <h1><strong>Contact Us</strong></h1>
</p>

<p>                        <span>본사</span> 서울시 강남구 테헤란로 145 우신빌딩 / 16F


                        <span>부설연구소</span> 대구광역시 중구 동성로 25 / 9F


                        


                        <span>Tel.</span> 070-1234-5678


                        <span>Email.</span> help@testdomain.co.kr


                        <span>Fax.</span> 0303-1234-5678


                    </div></p>

<p>                <!-- //컨텐츠 끝 --></p>

<p>            </div>

        </div></p>

<p>    </div></p>

<p>

</div></p>

<p><script type="text/javascript">

    jQuery(document).ready(function($) {</p>

<p>        $('.sh-side-options-item-trigger-demos').on('click', function() {

            $('.sh-side-options').css('transition', '0.3s all ease-in-out');</p>

<p>            if ($('.sh-side-options').hasClass('open')) {

                $('.sh-side-options').removeClass('open');

            } else {

                $('.sh-side-options .sh-side-demos-image').each(function() {

                    $(this).attr('src', $(this).attr('data-src'));

                });

                $('.sh-side-options').addClass('open');

            }

        });</p>

<p>        $('.sh-side-demos-container-close').on('click', function() {

            $('.sh-side-options').css('transition', '0.3s all ease-in-out');

            $('.sh-side-options').removeClass('open');

        });

    });

</script></p>

<p> </p>

<p>

 

 

 

제가 원하는 것은 여러개의 슬라이드를 각각의 링크에 할당해서 링크를 누를 때마다 다른 내용이 보여지게끔 하는 겁니다. 여기에 대해 질문을 드렸는데 펄스나인님은 

 

 

"스타일 관련한 클래스는 그대로쓰고 열리고 닫히는 부분만
id 로 변경하고 스크립트만 추가해도 될거같긴 합니다~ "

 

이렇게 댓글을 달아주시기는 했는데 요즘 바쁘셔서 그 이상은 힘드실 것 같다고 하셨구요. (물론 지금 이 상태로도 정말 멋진 슬라이드입니다.)

 

위에서 말한 기능이 구현되지 않으면 지금까지 만들어 놓은게 전부 쓸모없게 되어서 저로선 좀 급한 상황입니다. 코딩도 거의 하지 못하는 초보라고 보셔도 되구요. 

 

너무 어려운 문제가 아니라면 도와주셨으면 하구요 혹시 도와주실분은 쪽지 보내주시면 소정의 기프티콘을 보내드리겠습니다. 부탁드립니다~ 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

쪽지받으시려면 sir 정보공개 해주셔야합니다

수정하신후 쪽지 보내주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그때그언니
5년 전
휴대폰 인증 했는데 된건가요?

댓글을 작성하려면 로그인이 필요합니다.

같은 페이지내에서

링크를 이용해서 슬라이드 이미지를 변경하신다는 말씀이신가요?

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

병원에서일해요
5년 전
쪽지받으시려면 개인정보 공개해주셔야합니다~!
그때그언니
5년 전
네 맞아요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인