JavaScript Image Slider
Posted by Superadmin on May 03 2023 14:55:18

JavaScript Image Slider

JavaScript Image Slider

Introduction to JavaScript Image Slider

JavaScript Image Slider does not only involve JavaScript, but you can play with HTML and CSS to create an Image Slider. In a simpler way, It is a slider that allows showing multiple images on a web application. It is also known as Image Carousels or as slideshows used to display multiple images, videos, or graphics on the web application. This kind of image slider will be alluring and catch the attention of users.

In real-time scenarios, when we get a requirement to develop an image slider on an application. A quick reaction from a developer would be to use jQuery plugins. Here we will not use jQuery but Javascript, HTML, and CSS to design Image Slider. On using jQuery plugins, we might face chances of code conflict with plugin libraries and existing libraries that we use in the application.

Steps to create JavaScript Image Slider

So let us see how to create JavaScript Image Slider using JavaScript, HTML, and CSS,

Step 1: Will first create HTML content with the required images in a slider,

<body>
<div class="container">
<div class="showSlider fade">
<img src="assets/enter.jpeg" alt= "Entering Library"/>
<div class="contentBook">Enter into Library</div>
</div>
<div class="showSlider fade">
<img src="assets/select.jpeg" alt = "Select Book"/>
<div class="contentBook">Select your book</div>
</div>
<div class="showSlider fade">
<img src="assets/register.jpeg" alt="Registering ID"/>
<div class="contentBook">Register your Library ID</div>
</div>
<div class="showSlider fade">
<img src="assets/read.jpeg" alt= "Returning Book"/>
<div class="contentBook">Return your book after 7 days</div>
</div>
<!-- Navigation arrows -->
<a class="left" onclick="nextSlide(-1)"></a>
<a class="right" onclick="nextSlide(1)"></a>
</div>
</body>

Here, the container is the main container for image sliders, and showSlider is for repeating images.

Step 2: Now, we shall put in the JavaScript logic part for the image slider.

var slide_index = 1;
slidesDisplay(slide_index);
function nextSlide(n) {
slidesDisplay(slide_index += n);
}
function currentSlide(n) {
slidesDisplay(slide_index = n);
}
function slidesDisplay(n) {
var i;
var slides = document.getElementsByClassName("showSlider");
if (n > slides.length) { slide_index = 1 }
if (n < 1) { slide_index = slides.length }
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[slide_index - 1].style.display = "block";
}

Here all the functions are user-defined

Step 3: Now, we shall add CSS to HTML, which shall position images with styles.

body {
margin: 0;
background: #e6e6e6;
}
.showSlider {
display: none
}
.showSlider img {
width: 100%;
}
.container {
max-width: 1000px;
position: relative;
margin: auto;
}
.left, .right {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
padding: 16px;
margin-top: -22px;
color: white;
font-weight: bold;
font-size: 18px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
}
.right {
right: 0;
border-radius: 3px 0 0 3px;
}
.left:hover, .right:hover {
background-color: rgba(115, 115, 115, 0.8);
}
.contentBook {
color: #eff5d4;
font-size: 30px;
padding: 8px 12px;
position: absolute;
top: 10px;
width: 100%;
text-align: center;
}
.active {
background-color: #717171;
}
/* Fading animation */
.fade {
-webkit-animation-name: fade;
-webkit-animation-duration: 1.5s;
animation-name: fade;
animation-duration: 1.5s;
}
@-webkit-keyframes fade {
from {
opacity: .4
}
to {
opacity: 1
}
}
@keyframes fade {
from {
opacity: .4
}
to {
opacity: 1
}
}

Step 4: Now, we shall combine all the above 3 steps and Run on our browser.

Here we have taken some sample images for Image Slider. In the assets folder, add your required images for the slider.

JavaScript Image Slider output 1

So on running the code, we shall get the below output:

JavaScript Image Slider output 2

JavaScript Image Slider output 3

output 4

So here we have a sliding option as we can see in the above images, on each click, images would scroll

Example 2: With setting a timeout, we can automatically slide over all the images,

Only JavaScript code has to be changed to setTimeout

var slideIndex = 0;
showImageSlider();
function showImageSlider()
{
var i;
var slides = document.getElementsByClassName("image-sliderfade");
var dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length)
{
slideIndex = 1;
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.
replace(" active", "");
}
slides[slideIndex - 1].style.display = "block";
dots[slideIndex - 1].className += " active";
setTimeout(showImageSlider, 1000);
}

HTML and CSS changes would not be there; example 1 can be followed. The output would look like below,

output 6

So here we are using dots which says there are 4 images that are being scrolled automatically after every 1 second

Advantages and Disadvantages of Image Slider

With this, we can conclude our topic. The slider, as said, includes multiple images one after another based on timeout or scrolling. We have seen two examples of how to create a JavaScript Image Slider using JavaScript, HTML, and CSS. We have also seen some of the advantages and disadvantages of Image Slider, so by which you people can be able to get why or why not of Image Slider. These image sliders are not only for images but can also include videos and graphics. Thanks! Happy Learning!!