Q&A

클릭시 컨텐츠?div 펼쳐지는 방법..

2023.09.23 09:00
238
0
CMS/프레임워크 사용안함
개발 언어 사용안함

https://gis.forestdata.kr/ 여기 시각화 탭 누르면 보이는 메뉴들처럼 클릭시 옆으로 div가 보였으면 좋겠어요.. 펼쳐지는? 열리는? 느낌으로.. 

 

      //         //-------사이드바 슬라이드-------//
      // const fourthListItem = document.querySelector('.warning-sub #fourth');
      // const contentsWrap = document.getElementById('contentswrap');
      // const navWrap = document.getElementById('navwrap');
      // const navWrapWidth = navWrap.offsetWidth;
      // const closeBtn2 = document.querySelector('.closebtn2');

      
      // contentsWrap.style.transform = `translateX(-${0}px)`;
      // contentsWrap.style.opacity = '0';

      // fourthListItem.addEventListener('click', function() {
         
      //    contentsWrap.style.transition = 'transform 0.3s ease-in-out, opacity 0.3s ease-in-out';
      //    contentsWrap.style.transform = 'translateX(0)';
      //    contentsWrap.style.opacity = '1';

         
      //    navWrap.style.transition = 'transform 0.3s ease-in-out';
      //    navWrap.style.transform = `translateX(-${0}px)`;
      // });


      //   //---------사이드바 닫힘 버튼--------//
      // closeBtn2.addEventListener('click', function() {
        
      //    contentsWrap.style.transition = 'transform 0.3s ease-in-out, opacity 0.3s ease-in-out';
      //    contentsWrap.style.transform = `translateX(-${0}px)`;
      //    contentsWrap.style.opacity = '0';

         
      //    navWrap.style.transition = 'transform 0.3s ease-in-out';
      //    navWrap.style.transform = 'translateX(0)';
      // });

이게 지금 제 스크립트 코드입니다.. ㅠㅠ 지금은 약간 디졸브처럼 페이드인아웃 되는데 그게아니라 옆으로 딱!팍!펼쳐졌으면 좋겠어요ㅠㅠㅠ

댓글 8

  • 2023.09.23 12:21 #1787125
    본문에 적어주신 코드만으로는 쉽게 구조가 떠오르지 않아서 새로 만들어봤습니다.

    https://jsfiddle.net/4zu6Lnp9/212/

    위 링크에 접속하시면 소스와 결과를 바로 확인하실 수 있습니다.
    도움이 되시면 좋겠습니다.
  • 2023.09.23 13:16 #1787138
    천재만재 아니신가요...?? 혹시 클릭하고 뜰때 속도를 좀 더 빨리하려면 트랜지션을 이용하면 되나요??
  • 2023.09.23 13:33 #1787142
    많은 테스트를 거치지 않아서 버그가 있을 수도 있습니다.

    css에서

    transition: width 0.5s;

    이 줄을 지워버리면 즉시 펼쳐지고, 0.1s로 수정하면 지금보다 더 빠르게 열립니다.
  • 2023.09.23 13:35 #1787146
    혹시 제가 링크를 댓글에 올리면 봐주실수있나요 ㅇㄹ려주신 코드를 응용하고싶은데 active를 어떻게 해야할지 모르겠어서요 ㅠㅠ
  • 2023.09.23 13:40 #1787150
    제가 지금 친구와 놀러 나와서 오늘은 좀 어렵고 내일 보고 한 번 봐 드리겠습니다.

    다른 분들께서 답변해 주실 수도 있으니, 링크는 언제든지 올려놓으셔도 될 것 같습니다.
  • 2023.09.24 11:07 #1787191
    active 클래스 스위칭은 자동 처리되도록 만들었으니 따로 수정하실 필요 없으세요.
    아 혹시, url에 따라서 active를 시키고 싶으시다면 추가 개발이 필요합니다.
    "window.location.href"를 활용하셔서 응용해 보시길 바랍니다.
  • 2023.09.23 13:41 #1787154
    글 자체가 수정이 안돼서 댓글에 올려두겠씁니다. https://cjsrnr1007.cafe24.com/work/pratice/pratice2.html 그래도 도움을 주신점 정말정말정말 감사합니다 ㅠㅠㅠ!!!!!! 즐거운 밤 되세요!!!!
  • 2023.09.24 10:57 #1787187

    기재해 주신 링크 확인하였습니다.

    Cafe24의 솔루션을 활용해서 무언가를 만드는 중이신 것 같은데요.
    제가 소프트웨어 개발이 주 업무가 아니라서 Cafe24가 서버 회사라는 것만 알고 있습니다.
    그렇다 보니 사이트 소스를 보아도 구조를 정확히 파악하는 데 한계가 있습니다.

    아래에 말씀드릴 방법은 임시방편이므로, 꼭 충분한 리팩토링을 거쳐 실사용에 적용하시기를 바랍니다.

    Step1. <div id="fullwrap"> 태그 내부의 navwrap, contentswrap 노드들을 모두 삭제해 주세요.

    Step2. "https://jsfiddle.net/c07shwLu/1/" 사이트에 접속 후 HTML 내용을 전체복사 해서 <body> 태그 바로 밑에 붙여 넣어 주세요.

    Step3. "https://i.imgur.com/VpIRUKE.png" 사진처럼 정상적으로 적용됐는지 확인하세요.

    ※ 앞서 말씀드린 것처럼, 저는 숙련자가 아니라서 깊이 있는 질문을 주셔도 더 이상 명확한 답변을 드리기 어려울 수 있습니다.

    ※ HTML, CSS, JS를 나눠서 볼 수 있는 "https://jsfiddle.net/kq2rm1t7/11/" 사이트를 접속해서 공부 시 활용하십시오.

    즐거운 코딩 되세요!