In this article, we are going to learn how to create a simple image slider using HTML, CSS, and JavaScript only. Here, we are not using any external frameworks/plugins for slider.
Our Best Popular Projects & Posts
Post | Link |
---|---|
School Management System With Full Source Code In php | click here |
ecommerce project in php | click here |
simple login and registration form in php | click here |
Synopsis for online rooms booking project based on PHP | click here |
add multiple images in codeigniter | click here |
beginners project in php with source code | click here |
dynamic country state dropdown in codeigniter | click here |
how to generate pdf using dompdf in codeigniter | click here |
add 1 day to current date in php | click here |
how to check website/blog responsive or not? | click here |
employee attendance management system project in php with source code | click here |
Select one checkbox and disable others | click here |
printing div content with css applied | click here |
best restaurants management system in php | click here |
Preview an image before it is uploaded using jquery | click here |
text editor in jquery | click here |
data table with export button in html | click here |
add multiple images in codeigniter | click here |
codeigniter some steps to install on Your server | click here |
ajax in php/codeigniter | click here |
Create Simple API CRUD with PHP and MySQL | click here |
How to integrate bootstrap theme in codeigniter | click here |
how to prepare for interview | click here |
Convert a date format in PHP | click here |
how to export html table to excel in jquery | click here |
how to create duplicate google peg using ajax | click here |
how to make dropdown searchable in html using jquery | click here |
how to find retirement date in php | click here |
online food order system in php with source code | click here |
school management project admin panel in php | click here |
Step 1
Create a folder named “images” in the project path and put all the images required for the slider. Make sure that all the images are in the same size (width*height). Otherwise, the slider will misbehave while navigating between slides.
Step 2
Add the below code in body section of the HTML page.
Add the below code in body section of the HTML page.
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#my-custom-slider-demo {
display: block;
overflow: hidden;
position: relative;
}
#my-custom-slider-demo #sidebar-slider-prev,
#my-custom-slider-demo #sidebar-slider-next {
background-color: rgba(0,0,0,0.5);
color: #FFF;
cursor: pointer;
display: inline-block;
font-size: 32px;
height: 48px;
line-height: 42px;
opacity: 0;
padding: 0;
position: absolute;
text-align: center;
top: calc(50% - 24px);
transition: 0.2s all;
width: 48px;
z-index: 5;
}
#my-custom-slider-demo #sidebar-slider-next {
right: 0;
}
#my-custom-slider-demo:hover #sidebar-slider-prev,
#my-custom-slider-demo:hover #sidebar-slider-next{
opacity: 1;
}
#my-custom-slider-demo .widget_media_image {
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top:0;
transition: 0.8s all;
z-index: 0;
width: 100%;
}
#my-custom-slider-demo .widget_media_image:first-of-type,
#my-custom-slider-demo .widget_media_image.active {
opacity: 1;
z-index: 1;
}
#my-custom-slider-demo .widget_media_image img {
height: auto;
width: 100%;
}
#my-custom-slider-demo .widget_media_image b {
background-color: rgba(0,0,0,0.5);
bottom: 0;
color: #FFF;
display: inline-block;
font-size: 14px;
left: 0;
padding: 10px 20px;
position: absolute;
text-transform: uppercase;
}
@media all and (max-width: 600px) {
#my-custom-slider-demo .widget_media_image b {
display: none;
}
}
</style>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<div id="my-custom-slider-demo" class="sidebar-slider">
<a id="sidebar-slider-prev" onclick="customNavToPrevSlide()"> ❮ </a>
<a id="sidebar-slider-next" onclick="customNavToNextSlide()"> ❯ </a>
<div id="demo-slide1" class="widget_media_image">
<b class="widget-title">Slide 1 Title</b>
<a href="#"><img width="700" height="200" src="db.jpg"></a>
</div>
<div id="demo-slide2" class="widget_media_image">
<b class="widget-title">Slide 2 Title</b>
<a href="#"><img width="700" height="200" src="NANU.jpg"></a>
</div>
<div id="demo-slide3" class="widget_media_image">
<b class="widget-title">Slide 3 Title</b>
<a href="#"><img width="700" height="200" src="photo3.jpg"></a>
</div>
</div>
</body>
<script type="text/javascript">
let currentSlide = 0, theSlides = document.getElementsByClassName('widget_media_image'), customSliderTimer, next, prev, theWrapper = document.getElementById('my-custom-slider-demo');
function customNavToNextSlide() {
next = ( currentSlide < theSlides.length - 1 ) ? currentSlide + 1 : 0;
customSetCurrentSlide(next);
}
function customNavToPrevSlide() {
prev = ( currentSlide > 0 ) ? currentSlide - 1 : theSlides.length - 1;
customSetCurrentSlide(prev);
}
function customSetCurrentSlide(to) {
clearInterval(customSliderTimer);
for (let i = 0; i < theSlides.length; i ++) {
if ( currentSlide == i ) {
theSlides[currentSlide].classList.remove('active');
}
if ( next == i ) {
theSlides[to].classList.add('active');
}
}
currentSlide = to;
customSliderStart();
}
function customSliderStart() {
customSliderTimer = setInterval(function() {
customNavToNextSlide();
}, 5000);
}
function customSliderInit() {
let height = theSlides[0].getElementsByTagName('img')[0].height;
theWrapper.style.height = height + 'px';
for (let i = 0; i < theSlides.length; i ++) {
theSlides[i].style.height = height + 'px';
}
}
if (typeof theSlides !== 'undefined') {
window.addEventListener('resize', customSliderInit);
customSliderInit();
if ( theSlides.length > 1 ) {
customSliderStart();
}
}
</script>
</html>
0 Comments