html ---------------------------------------------------------------
<div class="tabs-container overseas">
<ul class="tabs-wrapper">
<li class="tab on">
<span class="tab-menu">하와이</span>
</li>
<li class="tab">
<span class="tab-menu">괌</span>
</li>
<li class="tab">
<span class="tab-menu">태국</span>
</li>
<li class="tab">
<span class="tab-menu">베트남</span>
</li>
<li class="tab">
<span class="tab-menu">일본</span>
</li>
<li class="tab">
<span class="tab-menu">영국</span>
</li>
<li class="tab">
<span class="tab-menu">스페인</span>
</li>
<li class="tab">
<span class="tab-menu">뉴질랜드</span>
</li>
<li class="tab">
<span class="tab-menu">스위스</span>
</li>
</ul>
</div>
css ---------------------------------------------------------------------
.tabs-container{
margin:20px 0;
.tabs-wrapper{
width:100vw;
overflow-x: scroll;
-ms-overflow-style:none;
scrollbar-width: none;
padding:0 0 0 15px;
box-sizing: border-box;
display: flex;
&::-webkit-scrollbar{
display: none;
}
}
.tab{
width:'auto';
padding: 0 5px;
box-sizing: border-box;
.tab-menu{
display: block;
box-sizing: border-box;
width:'auto';
font-size: 13px;
font-weight: 400;
padding:7px 14px 8px;
border:1px solid #E1E1E1;
border-radius: 100px;
white-space: nowrap;
}
&.on{
.tab-menu{
border-color: #000;
background-color: #000;
color:#fff;
font-weight: 700;
}
}
&:last-child{
padding:0 20px 0 5px;
}
}
}
jquery ------------------------------------------------------------------------------
function moveCenter(e){
/* 선택한 tab이 center로 이동하는 함수 */
var $tabContainer = $(e.target).closest('.tabs-container');
var $tabWrapper = $(e.target).closest('.tabs-wrapper');
var $tab = $(e.target).closest('.tab');
// 스크롤 양
var pos = $tabWrapper.scrollLeft();
// 컨테이너의 1/2
var containerWidthHalf = $tabContainer.width() / 2;
// 선택한 li의 left
var selectedTarget = $tab.offset().left;
// 선택한 li의 outerWidth 1/2
var selectedTargetWidthHalf = $tab.outerWidth() / 2;
// 이동할 양 계산
pos += selectedTarget + selectedTargetWidthHalf - containerWidthHalf;
setTimeout(function(){
$tabWrapper.stop().animate({
scrollLeft : pos,
},300);
},200);
}
결과물 ------------------------------------------------------------------
'jquery' 카테고리의 다른 글
숙소 인원 설정 해보기 (0) | 2022.07.04 |
---|---|
mCustomScrollbar 사용 (0) | 2022.01.12 |
현재 국내 도시 날씨 알아보기 (jquery) (0) | 2021.01.04 |
gallery 따라 만들기 (0) | 2020.12.25 |
캐러셀 구현 - owl carousel 플러그인 (feat. jquery) (0) | 2020.12.18 |
댓글