코딩 기록/코딩 소스 [HTML & CSS & JS]
자바스크립트 제이쿼리 세로 슬라이더 예제 (JavaScript & jQuery Vertical Slider)
kimyang-Sun
2023. 1. 28. 17:56

자바스크립트 제이쿼리 세로 슬라이더 예제 (JavaScript & jQuery Vertical Slider) 코드펜 소스코드입니다.
$('.slider-box-1 > .side-btns > div').click(function() {
var $this = $(this);
var isUp = $this.index() == 0;
var $slider = $this.closest('.slider-box-1');
if ( $slider.attr('data-slider-box-1-now-work') === 'Y' ) {
return;
}
$slider.attr('data-slider-box-1-now-work', 'Y');
var $current = $slider.find(' > .slides > div.active');
var $post = null;
if ( isUp ) {
$post = $current.prev();
if ( $post.length == 0 ) {
$post = $slider.find(' > .slides > div:last-child');
}
}
else {
$post = $current.next();
if ( $post.length == 0 ) {
$post = $slider.find(' > .slides > div:first-child');
}
}
var $prev = $post.prev();
if ( $prev.length == 0 ) {
$prev = $slider.find(' > .slides > div:last-child');
}
var $next = $post.next();
if ( $next.length == 0 ) {
$next = $slider.find(' > .slides > div:first-child');
}
$current.removeClass('active');
$post.addClass('active');
if ( isUp ) {
$prev.stop().animate({top: '240%'}, 300, function() {
$prev.css('top', '-120%');
});
$post.stop().animate({top: '0%'}, 300);
$next.stop().animate({top: '120%'}, 300);
}
else {
$prev.stop().animate({top: '-120%'}, 300);
$post.stop().animate({top: '0%'}, 300);
$next.stop().animate({top: '-240%'}, 300, function() {
$next.css('top', '120%');
});
}
setTimeout(function() {
$slider.attr('data-slider-box-1-now-work', 'N');
}, 300);
})
$('.slider-box-1 > .side-btns > div').eq(0).click();