DEV Community

Cover image for Decoding Image Slider - Using HTML, CSS and JS
Annapoorani Kadhiravan
Annapoorani Kadhiravan

Posted on

Decoding Image Slider - Using HTML, CSS and JS

Technologies Used

Technology Purpose
HTML Creates the webpage structure
CSS Styles the slider
JavaScript Changes images dynamically

Important Elements

Image

<img id="sliderImage">
Enter fullscreen mode Exit fullscreen mode

This image changes every time the user clicks a button.


Previous Button

<button id="previousBtn">
Enter fullscreen mode Exit fullscreen mode

Moves backward.


Next Button

<button id="nextBtn">
Enter fullscreen mode Exit fullscreen mode

Moves forward.


CSS Styling

Important properties:

Property Purpose
display:flex Align items in one row
justify-content Center horizontally
align-items Center vertically
object-fit Prevent image stretching
border-radius Rounded corners
box-shadow Shadow effect

JavaScript Logic

JavaScript makes the slider interactive.

It performs five main tasks:

Step 1

Select HTML elements.

document.getElementById()
Enter fullscreen mode Exit fullscreen mode

Step 2

Store image paths inside an array.

images

↓

Image1

Image2

Image3

Image4
Enter fullscreen mode Exit fullscreen mode

Step 3

Keep track of the current image.

currentIndex



0
Enter fullscreen mode Exit fullscreen mode

Step 4

Update the image source.

sliderImage.src



images[currentIndex]
Enter fullscreen mode Exit fullscreen mode

Step 5

Respond to button clicks.

Click

↓

Increase index

↓

Show new image
Enter fullscreen mode Exit fullscreen mode

Variables

Variables store data.

Example:

let currentIndex = 0;
Enter fullscreen mode Exit fullscreen mode

Think of a variable as a box that stores information.

currentIndex



0
Enter fullscreen mode Exit fullscreen mode

Constants

const sliderImage
Enter fullscreen mode Exit fullscreen mode

Used for values that never change.

Why?

Because the image element itself never changes.

Only its content changes.


Arrays

Instead of writing

image1

image2

image3

image4
Enter fullscreen mode Exit fullscreen mode

we write

images[]

↓

0 → image1

1 → image2

2 → image3

3 → image4
Enter fullscreen mode Exit fullscreen mode

Arrays store multiple values together.


Array Index

Arrays start from 0.

images[0]

↓

image1
Enter fullscreen mode Exit fullscreen mode
images[2]

↓

image3
Enter fullscreen mode Exit fullscreen mode

Functions

Functions are reusable blocks of code.

Instead of writing

Change image
Enter fullscreen mode Exit fullscreen mode

five times,

we create

showImage()
Enter fullscreen mode Exit fullscreen mode

Whenever needed,

showImage();
Enter fullscreen mode Exit fullscreen mode

runs automatically.

Benefits:

  • Cleaner code
  • Reusable
  • Easier to maintain

DOM Manipulation

DOM stands for

Document Object Model

JavaScript interacts with HTML using the DOM.

HTML

↓

DOM

↓

JavaScript
Enter fullscreen mode Exit fullscreen mode

Example

document.getElementById("sliderImage")
Enter fullscreen mode Exit fullscreen mode

means

"Find the image in HTML."


Event Listeners

An Event Listener waits for something to happen.

Example:

Click Button

↓

Run Function
Enter fullscreen mode Exit fullscreen mode

Increment Operator

currentIndex++;
Enter fullscreen mode Exit fullscreen mode

means

currentIndex = currentIndex + 1;
Enter fullscreen mode Exit fullscreen mode

Example

0 -> 1 -> 2 -> 3
Enter fullscreen mode Exit fullscreen mode

Decrement Operator

currentIndex--;
Enter fullscreen mode Exit fullscreen mode

means

currentIndex = currentIndex - 1;
Enter fullscreen mode Exit fullscreen mode

Example

3 -> 2 -> 1
Enter fullscreen mode Exit fullscreen mode

Conditional Statements

if()
Enter fullscreen mode Exit fullscreen mode

used for decision making.

Example

if(currentIndex >= images.length)
Enter fullscreen mode Exit fullscreen mode

If we reach the last image,

start from the beginning.


Image Length

images.length
Enter fullscreen mode Exit fullscreen mode

returns

4
Enter fullscreen mode Exit fullscreen mode

if there are four images.

This prevents hardcoding values.


OUTPUT

Check out my project Image Slider here : https://project1-b3f69b.gitlab.io/Image%20Slider/index.html


References :

https://www.w3schools.com/howto/howto_css_smooth_scroll.asp#section1
https://www.w3schools.com/howto/howto_js_slideshow.asp

Top comments (0)