https://m.adidas.co.kr/MO/Event/pnEvtView.action?pn=MYSHELTER
내가 원하는 결과물 :
absolute로 겹쳐진 item 이라는 div는 각각에 해당하는 네비게이션 버튼을 클릭시
opacity가 1이 되면서 화면에 떠야한다.
그런데... div에 absolute를 먹이면 높이값을 읽지 못하고 px로 정확한 높이값을 지정할 수 있는 웹과는 다르게
모바일의 경우 디바이스마다 각 내용물들의 높이가 다르게 측정이 되기 때문에
스크립트로 유동적인 높이값을 찾아서 직접 지정해주기로 했다.
// 네비게이션 버튼 클릭시 실행되는 함수
$('.navi_wrap .navi').click(function(){
var index = $(this).index();
// 해당 아이템들의 높이값을 담을 배열 선언
var itemchildDivArray = [];
// 해당 아이템들을 감싸는 부모 태그 결정을 위한 변수 선언
var thisitem = $('.items_wrapper .item').eq(index);
// 해당 아이템 변수 선언
var itemchildDiv = thisitem.children('.h');
// 클릭한 네비게이션 index에 해당하는 태그에 클래스 on 부여
$('.navi_wrap .navi').removeClass('on').eq(index).addClass('on');
// 클릭한 네비게이션 index에 해당하는 아이템 부모에 클래스 on 부여
$('.items_wrapper .item').removeClass('on').eq(index).addClass('on');
// 해당하는 각 div 높이값 구해서 itemchildDivArray 배열에 넣기
$(itemchildDiv).each(function(index, item){
var geth = Math.round(itemchildDiv.eq(index).height());
itemchildDivArray.push(geth);
});
// 배열에 넣은 높이값 총합 구하기
var totalh = 0;
for( var i = 0; i<itemchildDivArray.length; i++){
totalh += itemchildDivArray[i];
}
// 다 더한 높이값을 부모태그에 넣어주기
$('.items_wrapper').css({
'padding-bottom': totalh + 'px'
});
});
'근무 중 기록 > 아디다스' 카테고리의 다른 글
[작업물] 해당 칸에 맞게 움직이는 네비게이션 슬라이드 (0) | 2019.10.21 |
---|---|
Trello : 프로젝트 일정관리와 공유에 유용한 프로그램 (0) | 2019.10.14 |
중구난방인 메일 내용이 보기 힘들어 메일 양식 지정 (0) | 2019.10.14 |
[작업물] 페이지 스크롤 시 원하는 컨텐츠에 효과 먹이기 (0) | 2019.10.14 |