• 카테고리

    질문 & 답변
  • 세부 분야

    취업 · 이직

  • 해결 여부

    미해결

featherlight을 사용했을 때 취업한 학생들처럼 body의 overflow:hidden이 자유자재로 되려면..

21.11.26 02:32 작성 조회수 314

1

코딩웍스 강사님 안녕하세요!

앞 강의에서 플러그인질문은 여쭤봐도 알려주시기가 난감하셨다 하셨지만, 취업한 학생분들 홈페이지도 제가 하고자 하는 홈페이지대로 되어있어서.. 여쭤봅니다.

해당 강의의 9:57 에서 강사님께서 pc버전을 눌렀을 때 취업한 학생분의  모달창 healing art 홈페이지의 오른쪽부분을 보면 세로스크롤이 한줄이고,  모달창을 꺼도 개인홈페이지가 계속 스크롤할수있는데,

 

제 홈페이지의 스크롤을 보시면

이 스크린샷이 featherlight를 사용해서 모달창을 띄운 상태입니다.

스크롤 두개중에, 왼쪽 스크롤이 featherlight를 이용해서 나온 포폴홈페이지이고, 오른쪽 스크롤이 개인홈페이지입니다.

취업한 학생분의 홈페이지처럼, featherlight을 이용한 홈페이지가 나오면 개인포폴홈페이지는 잠시 움직이는걸 멈추게하고 싶어서,

 

반응형 강좌때 (모달창띄울때 body가 움직이는걸 방지할경우)이럴 경우엔 body에 overflow를 주면된다고하셔서 jquery로 $('body').addClass('active') 해보았습니다만

 

body에 addClass('active')는 적용되는데,

$('.featherlight-close-icon')를 클릭했을때, body removeClass('active')는 어떻게해도 적용이 안됩니다.

 

선택자가 잘못된건가싶어서,  F12로 확인해서

.featherlight-close-icon

.featherlight-close

.close

.featherlight-close-icon.featherlight-close

.featherlight.featherlight-iframe .featherlight-content .featherlight-close-icon.featherlight-close

여기 있는 선택자들로도 바꿔봤는데도 안되더라구요.

방법이 잘못된걸까요?

공유해주신 featherlight.css에도 나와있지않아서 여쭤봅니다.

 

 ↓ 밑의 코드는 css파일과 js파일에 각각 작성하였지만 복붙하니까 이어붙여서 보이네요.

.view 는 pc버전보기 버튼입니다!

body.active {
  overflow:hidden;
}
 
  $(function(){
    $('.view').click(function(){
      $('body').addClass('active');
    })
    $('.featherlight .featherlight-close-icon').click(function(){
      $('body').removeClass('active');
    })
  })
 
 

답변 1

답변을 작성해보세요.

0

featherlight.js를 사용하면 제이쿼리 구문을 따로 적어주실 필요 없어요.

featherlight.js 자체에서 풀스크린 모달 띄우고 닫는 기능이 있습니다.

지금 올리신 코드 보니까 addClass removeClass 사용하셨는데 필요 없어요.

지금 잘못 방향을 잡으신거 같아요.

featherlight.js 플러그인의 js와 css가 링크되었다면...

html을 띄울 때는...

<a href="test.html" data-featherlight="iframe">풀스크린 띄우기</a>

풀스크린으로 띄운 test.html 닫을 때는...

featherlight.js 플러그인에 X 아이콘에 닫는 기능이 되어 있으니까 따로 해주실 필요가 없어요.

제가 설명 드린 내용이 이해가 잘 안가시면 지금 작업하고 있는 작업 폴더 전체를 압축해서 저한테 이메일 보내주세요.

webnlife@naver.com