IT/PLUGIN
[Slider] Swiperjs 옵션
Alo_alex
2022. 5. 30. 17:56
주로 사용하는 Swiperjs 옵션
// ! 동일한 스와이퍼 함수가 2번이상 호출되면 이슈가 발생됨(ex : 'pagination' 비정상 작동)
// ! thumbs 적용시 일부태그('input, select, option, textarea, button, video')에 적용할 경우 액티브된 요소가 움지이지 않는 이슈 발생함
// (set swiper function name.touchEventsData.formElements = '컨트롤 제어 태그 나열'; )
var swiper = new Swiper('.swiper', {
initialSlide : 0, // 슬라이드 시작위치값(몇번째 슬라이드부터 보여 줄것 인지 설정)
speed : 400, // 슬라이드 전환 초 수 설정(duration 효과 설정)
loop : false, // 슬라이드 반복 여부
loopAdditionalSlides : 1, // 슬라이드 반복 시 마지막 슬라이드에서 다음 슬라이드가 보여지지 않는 현상 수정
loopedSlides : 8, // 루프 모드를 사용할때, 얼마나 많은 슬라이드를 복제(duplication)하는지 설정
// 루프 모드에서 duplication이 정상적으로 안 먹을때 넣기
// [Parameter] CenteredSlides
centeredSlides : true, // 슬라이드 가운데로 배치
// [Parameter] Nested
nested : true, // 슬라이드 내 슬라이드 중첩시 추가
// [Modul] autoplay
autoplay: { // 자동 슬라이드 설정(비 활성시 false)
delay: 4500, // 진행 시간 설정(머물러 있는 초 수 설정)
disableOnInteraction: false, // 스와이핑 후 자동 재생 진행 여부 설정(false시 자동재생 유지)
},
// [Modul] Free mode
freeMode : true, // 슬라이드 넘길 때 위치 고정 여부
// [Parameter] Autoheight
autoHeight : false, // 슬라이드 래퍼의 높이를 현재 활성화된 슬라이드 높이에 맞게 가변
// [Modul] Effects
effect : 'fade', // 슬라이드 전환 효과(총 5가지)
'slide' // 기본 슬라이드 전환
'fade' // 희미해지면서 슬라이드 전환
'cube' // 큐브 형태로 전환
'coverflow' // 약간의 그림자와 함께 슬라이드를 밀어내며 전환
'flip' // 카드를 뒤집듯이 전환
// [Parameter] Slides grid
spaceBetween : 10, // 슬라이드 사이 간격 설정
slidesPerView : 5, // 한 화면에 보여지는 기본 슬라이드 갯수
// [Parameter] Disable swiper and hide navigation when container not overflow
watchOverflow : false, // 슬라이드가 1개 이하 일떄, pager, button 숨김 여부 처리
(해당 기능이 발현이 안되면,
css에 '.swiper-pagination-lock{display: none;}'
내용이 누락되서임)
// [Parameter] Touches
touchRatio : 0, // 터치 비율 조정(숫자가 올라갈수록 슬라이드를 넘길떄 필요한 터치 동작이 줄어듬)
allowTouchMove : false // 슬라이드 터치 무브 제어(flase 설정시 무브X, 그외 컨트롤러로는 움직인다.)
threshold : 100, // 마우스 감도(마우스 터치 감도가 설정한 값 보다 낮으면 움직이지 않는다.)
// [Parameter] Progress
watchSlidesProgress : true, // thumbs설정시 추가 param(동기화 슬라이드 설정)
watchSlidesVisibility : true, // thumbs로 동기화될 슬라이드를 바라보게 설정
// [Parameter] Clicks
slideToClickedSlide : true, // 해당 슬라이드 클릭시 슬라이드 위치로 이동
// [Parameter] Observer
observer : true, // thumbs설정시 추가 param(동기화 슬라이드 설정)
observeParents : true, // thumbs로 동기화될 슬라이드 중 부모슬라이드를 바라보게 설정
// [Modul] Thumbs
thumbs: {
swiper: recommMixMenu // thumbs로 동기화될 슬라이드 중 부모가 될 슬라이드
}
// [Modul] Navigation
navigation : {
nextEl : '.swiper-button-next', // 다음 슬라이드 이동 버튼 설정(클래스 지정, 셀렉터로 경로 설정 가능)
prevEl : '.swiper-button-prev', // 이전 슬라이드 이동 버튼 설정(클래스 지정, 셀렉터로 경로 설정 가능)
},
// [Modul] Pagination
pagination : {
el : '.swiper-pagination-num', // 페이지네이션 설정 : 태그 위치 작성(! 다중의 스와이퍼 설정시, 페이지네이션에 중첩이 일어날수 있으니 반드시 태그네임을 각기 다르게 설정할것)
clickable : true, // 클릭시 위치 이동 : true, false
renderBullet : function (index, className) { // 페이지네이션 블릿 커스텀 함수(index, className 기본형)
return 'custom tag write'; // 커스텀한 영역을 리턴 후 작성
},
},
// [Modul] Scrollbar
scrollbar : { // loop모드에서는 지원 안됨(루프로 돌리고 싶으면, pagination으로 css커스텀)
el : ".swiper-scrollbar", // 스크롤바 설정 : 태그 위치 작성
hide : false, // 인터페이스 로드 후 스크롤바 숨김 처리(스와이핑시 스크롤바 생성)
draggable : true, // 스크롤바를 드래그해서 움직일수 있는지 여부
},
// [Methods]
.destroy() // 스와이퍼 기능 제거 >> swiper.destroy(deleteInstance, cleanStyles)
.autoplay.start() // 자동 재생 시작
.autoplay.stop() // 자동 재생 정지
// [Evnet]
on:{}, // 매개변수로 사용시 스와이퍼 초기화 될 떄 동작
activeIndexChange // 슬라이드 넘어갈때 이벤트 호출
on('init',function(){}), // 스와이퍼가 초기화 된 후 동작시작
});
반응형