LATEST >>

Welcome Here And Thanks For Visiting. Like Us On Facebook...

EXEIdeas – Let's Your Mind Rock » HTML-CSS-PHP-JavaScript / JavaScript Codes » Flipbook Book Slider With Manual Control Using Pure Vanilla JavaScript

Flipbook Book Slider With Manual Control Using Pure Vanilla JavaScript

Flipbook-Book-Slider-With-Manual-Control-Using-Pure-Vanilla-JavaScript
This Vanilla JavaScript code snippet helps you to create a flipbook image slider. It comes with the next and previous buttons to slide the images with a page-flipping animation. You just need to add your images (as background) inside the back and front container then this code will automatically render a realistic book-style image slider.

There are many code snippets available online or on many other blogs and websites, but everyone cannot optimize your blog or website, so you need some optimized code snippets. So now checkout out the code snippet for your blog and website that will give you all features for your desired code. Now grab the ready-to-use code and paste it where you want.

Features:

  1. Light Weight.
  2. Pure JavaScript.
  3. Cross Browser.
  4. No JQuery Files.
  5. Fully Customizable.
  6. Responsive.

How To How To Add Password Eye Icon In Password Input Form Field??

There are a few easy and understandable steps to achieve your desired functionality that we are gonna share below. Follow each step perfectly.

CSS:

<style type="text/css">
body{
margin:0;
background-color: #ffecc6;
}
*{
box-sizing: border-box;
}
.book-section{
height: 100vh;
width: 100%;
padding: 40px 0;
text-align: center;
}
.book-section > .container{
height: 400px;
width: 500px;
position: relative;
left: 50%;
transform: translateX(-50%);
border-radius: 2%;
margin-bottom: 30px;
perspective: 1200px;
}
.container > .right{
position: absolute;
height: 100%;
width: 50%;
transition: 0.7s ease-in-out;
transform-style: preserve-3d;
}
.book-section > .container > .right{
right:0;
transform-origin: left;
border-radius: 10px 0 0 10px;
}
.right > figure.front, .right > figure.back{
margin: 0;
height: 100%;
width: 100%;
position: absolute;
left:0;
top:0;
background-size: 200%;
background-repeat: no-repeat;
backface-visibility: hidden;
background-color: white;
overflow: hidden;
}
.right > figure.front{
background-position: right;
border-radius: 0 10px 10px 0;
box-shadow: 2px 2px 15px -2px rgba(0,0,0,0.2);
}
.right > figure.back{
background-position: left;
border-radius: 10px 0 0 10px;
box-shadow: -2px 2px 15px -2px rgba(0,0,0,0.2);
transform: rotateY(180deg);
}
.flip{
transform: rotateY(-180deg);
}
.flip::before{
content: "";
position: absolute;
top:0;
left:0;
z-index: 10;
width: 100%;
height: 100%;
border-radius: 0 10px 10px 0;
background-color: rgba(0,0,0,0.1);
}
.book-section > button{
border: 2px solid #ef9f00;
background-color: transparent;
color: #ef9f00;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
margin: 10px;
transition: 0.3s ease-in-out;
}
.book-section > button:focus, .book-section > button:active{
outline: none;
}
.book-section > p{
color: rgba(0,0,0,0.7);
font-family: calibri;
font-size: 24px;
margin: 15px 0;
}
.book-section > p > a{
text-decoration: none;
color: #ef9f00;
}
.book-section > button:hover{
background-color: #ef9f00;
color: #fff;
}
.front#cover, .back#back-cover{
background-color: #ffcb63;
font-family: calibri;
text-align: left;
padding: 0 30px;
}
.front#cover h1{
color: #fff;
}
.front#cover p{
color: rgba(0,0,0,0.8);
font-size: 14px;

}
</style>

HTML:

<div class="book-section">
<div class="container">
<div class="right">
<figure class="back" id="back-cover"></figure>
<figure class="front" style="background-image: url('https://source.unsplash.com/450x450/?girl');"></figure>
</div>
<div class="right">
<figure class="back" style="background-image: url('https://source.unsplash.com/450x450/?cat');"></figure>
<figure class="front" style="background-image: url('https://source.unsplash.com/450x450/?rose');"></figure>
</div>
<div class="right">
<figure class="back" style="background-image: url('https://source.unsplash.com/450x450/?building');"></figure>
<figure class="front" style="background-image: url('https://source.unsplash.com/450x450/?tech');"></figure>
</div>
<div class="right">
<figure class="back" style="background-image: url('https://source.unsplash.com/450x450/?coding');"></figure>
<figure class="front" style="background-image: url('https://source.unsplash.com/450x450/?girl');"></figure>
</div>
<div class="right">
<figure class="back" style="background-image: url('https://source.unsplash.com/450x450/?laptop');"></figure>
<figure class="front" style="background-image: url('https://source.unsplash.com/450x450/?mobile');"></figure>
</div>
<div class="right">
<figure class="back" style="background-image: url('https://source.unsplash.com/450x450/?girl');"></figure>
<figure class="front" id="cover">
<h1>Book Title</h1>
<p>CodeHim is one of the BEST developer websites that provide web designers and developers with a simple way to preview and download a variety of free code & scripts.</p>
</figure>
</div>
</div>
<button onclick="turnLeft()">Prev</button> <button onclick="turnRight()">Next</button>
</div>

JavaScript:

<script type="text/javascript">
var right = document.getElementsByClassName("right");
var si = right.length;
var z=1;
turnRight();
function turnRight()
{
if(si>=1){
si--;
}
else{
si=right.length-1;
function sttmot(i){
setTimeout(function(){right[i].style.zIndex="auto";},300);
}
for(var i=0;i<right.length;i++){
right[i].className="right";
sttmot(i);
z=1;
}
}
right[si].classList.add("flip");
z++;
right[si].style.zIndex=z;
}
function turnLeft()
{
if(si<right.length){
si++;
}
else{
si=1;
for(var i=right.length-1;i>0;i--){
right[i].classList.add("flip");
right[i].style.zIndex=right.length+1-i;
}
}
right[si-1].className="right";
setTimeout(function(){right[si-1].style.zIndex="auto";},350);
}
</script>

Customization:

No need to customize it. Just copy-paste. Rest edit the code as per comments and need.

Recommended For You:
Automatically Redirect To Another Page With Countdown Timer In JavaScript

Troubleshooting the Errors:

Do it with concentration and patience. Check your all steps again and all codes or scripts. If you find any error you can contact us anytime via comment or better via email, We are always here to help you.

Final Words:

That’s all we have. We hope that you liked this article. If you have any problem with this code in your template then feel free to contact us with a full explanation of your problem. We will reply to you as time allows us If you have any doubts or problems please comment below. We are happy to help you! If you liked this article, Don’t forget to share this with your friends so they can also take benefit from it and leave.

You Like It, Please Share This Recipe With Your Friends Using...

Be the first to write a comment.

Leave a Reply

Your email address will not be published. Required fields are marked *