JavaScript (jQuery)
$(function(){
$('.slider-item').eq(0).addClass('active');
var total = $('.slider-item').length;
var current = 0;
$('#moveRight').on('click', function(){
var next=current;
current= current+1;
setSlide(next, current);
});
$('#moveLeft').on('click', function(){
var prev=current;
current = current- 1;
setSlide(prev, current);
});
function setSlide(prev, next){
var slide= current;
if(next>total-1){
slide=0;
current=0;
}
if(next<0){
slide=total - 1;
current=total - 1;
}
$('.slider-item').eq(prev).removeClass('active');
$('.slider-item').eq(slide).addClass('active');
setTimeout(function(){
},800);
}
});
Html
<div class="slider-section">
<div class="slider main">
<div class="slider__nav">
<span id="moveLeft" class="slider__arrow">
<svg class="slider__icon" width="24" height="24" viewBox="0 0 24 24">
<path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"></path>
</svg>
</span>
<span id="moveRight" class="slider__arrow">
<svg class="slider__icon" width="24" height="24" viewBox="0 0 24 24">
<path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"></path>
</svg>
</span>
</div> <?php
$args = array('posts_per_page' => 3,);
$recent = new WP_Query($args);
while( $recent -> have_posts()) : $recent -> the_post();
?> <div class="slider-item slider-item--1">
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<div class="slider-item__image"><?php the_post_thumbnail( 'post_thumbnail' ); ?></div>
<div class="slider-item__info">
<div class="slider-item__container">
<h2 class="slider-item__subtitle"><?php the_category() ?> </h2>
<h1 class="slider-item__title"><?php the_title() ?></h1>
<p class="slider-item__description"><?php the_excerpt() ?></p>
</div>
</div>
</a>
</div> <?php endwhile; ?>
</div>
</div>
CSS
.slider-section {
margin: 0;
padding: 0;
width: 100%;
height: 550px;
display: flex;
display: -webkit-flex;
justify-content: center;
-webkit-justify-content: center;
align-items: center;
-webkit-align-items: center;
}
.slider.main {
overflow: visible;
}
.slider {
width: 100%;
height: 100%;
display: flex;
max-width: 890px;
max-height: 540px;
overflow: visible;
position: absolute;
background: #fff;
}
.slider-item {
visibility: visible;
display: flex;
width: 100%;
height: 100%;
align-items: center;
justify-content: flex-end;
-webkit-align-items: center;
-webkit-justify-content: flex-end;
position: relative;
/* background-color: #fff; */
flex-shrink: 0;
-webkit-flex-shrink: 0;
position: absolute;
z-index: 0;
/* transition: 1s all ease-out; */
}
.slider-item__info {
height: auto;
display: flex;
justify-content: center;
flex-direction: column;
display: -webkit-flex;
-webkit-justify-content: center;
-webkit-flex-direction: column;
right: -50px;
margin: auto;
padding: 10px 40px;
width: 40%;
position: absolute;
background: #fff;
z-index: 1;
box-shadow: 0 0 10px 0 #dbdbdb;
visibility: hidden;
}
.slider-item__image {
width: 100%;
height: 100%;
align-self: flex-end;
flex-basis: 100%;
-webkit-align-self: flex-end;
-webkit-flex-basis: 100%;
position: relative;
/* transform: translateX(100%); */
/* transition: 1s all ease-in-out; */
}
.slider-item__subtitle {
letter-spacing: 3px;
font-size: 10px;
text-transform: uppercase;
margin: 0;
color: #7E7E7E;
font-weight: 700;
/* transform: translateY(25%); */
opacity: 0;
visibility: hidden;
/* transition: 1s all ease-in-out; */
}
.slider-item__title {
margin: 15px 0 0 0;
font-size: 44px;
line-height: 45px;
letter-spacing: 3px;
font-weight: 700;
color: #2C2C2C;
transform: translateY(25%);
opacity: 0;
visibility: hidden;
transition: 1s all ease-in-out;
}
.slider-item__description {
/* transform: translateY(25%); */
opacity: 0;
visibility: hidden;
transition: 1s all ease-out;
margin-top: 35px;
font-size: 13px;
color: #7e7e7e;
line-height: 22px;
margin-bottom: 35px;
}
.slider__nav {
position: absolute;
right: 10px;
z-index: 2;
background-color: #fff;
bottom: 10px;
}
.slider__icon {
display: inline-block;
vertical-align: middle;
width: 16px;
fill: #5d5d5d;
}
.slider__arrow {
cursor: pointer;
display: inline-block;
padding: 11px 15px;
position: relative;
}
.slider__arrow:nth-child(1):after {
content: '';
right: -3px;
position: absolute;
width: 1px;
background-color: #b0b0b0;
height: 14px;
top: 50%;
margin-top: -7px;
}
.active {
z-index: 1;
display: flex;
visibility: visible;
}
.active .slider-item__subtitle,
.active .slider-item__title,
.active .slider-item__description,
.active .slider-item__btn {
transform: translateY(0);
opacity: 1;
transition: 1s all ease-in-out;
visibility: visible;
}
.active .slider-item__image {
transition: 1s all ease-in-out;
transform: translateX(0);
-webkit-animation-name: fadeInLeft;
animation-name: fadeInLeft;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
visibility: hidden;
z-index: 1;
}
.active .slider-item__info {
transition: 1s all ease-in-out;
transform: translateX(0);
-webkit-animation-name: fadeInRight;
animation-name: fadeInRight;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: forwards;
visibility: hidden;
z-index: 1;
}
@-webkit-keyframes fadeInRight {
from {
opacity: 0;
-webkit-transform: translate3d(10%, 0, 0);
transform: translate3d(10%, 0, 0);
visibility: hidden;
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
visibility: visible;
}
}
@keyframes fadeInRight {
from {
opacity: 0;
-webkit-transform: translate3d(10%, 0, 0);
transform: translate3d(10%, 0, 0);
visibility: hidden;
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
visibility: visible;
}
}
@-webkit-keyframes fadeInLeft {
from {
opacity: 0;
-webkit-transform: translate3d(-10%, 0, 0);
transform: translate3d(-10%, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
visibility: visible;
}
}
@keyframes fadeInLeft {
from {
opacity: 0;
-webkit-transform: translate3d(-10%, 0, 0);
transform: translate3d(-10%, 0, 0);
}
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
visibility: visible;
}
}
@media (max-width: 425px) {
.slider.main {
padding: 0;
margin: 0;
}
.slider-item {
flex-direction: column;
}
.slider-item__info {
position: initial;
padding: 1rem;
width: 100%;
height: 100%;
border: 1px solid #bbb;
box-shadow: 1px 1px 1px 1px #bbb;
}
.slider-item__image img {
width: 100vw;
height: 225px;
}
}
@media (min-width: 768px) {
.slider.main {
width: 85%;
}
.slider-item__image img {
width: 100vw;
max-height: 550px;
}
}
