Support us .Net Basics C# SQL ASP.NET ADO.NET MVC Slides C# Programs Subscribe Buy DVD

Image gallery with thumbnails in JavaScript

Suggested Videos
Part 38 - addeventlistener and removeeventlistener in JavaScript
Part 39 - JavaScript event object
Part 40 - Event bubbling in JavaScript

In this video we will discuss creating image gallery with thumbnails in JavaScript. We will take advantage of event bubbling to achieve this.

The image gallery should be as shown in the image below. When you click on the image thumnail, the respective image should be displayed in the main section of the page.

javascript image gallery

For the purpose of this demo we will be using the images that can be found on any windows machine at the following path.
C:\Users\Public\Pictures\Sample Pictures

Step 1 : Open Visual Studio and create a new empty web application project. Name it Demo.

Step 2 : Right click on the Project Name in Solution Explorer in Visual Studio and create a new folder with name = Images.

Step 3 : Copy images from C:\Users\Public\Pictures\Sample Pictures to Images folder in your project.

Step 4 : Right click on the Project Name in Solution Explorer in Visual Studio and add a new HTML Page. It should automatically add HTMLPage1.htm. At this point your solution explorer should look as shown below.

javascript image gallery code

Step 5 : Copy and paste the following HTML and JavaScript code in HTMLPage1.htm page.

    <style type="text/css">
            border:3px solid grey;
    <img id="mainImage" style="border:3px solid grey" 
         src="/Images/Hydrangeas.jpg" height="500px" width="540x"/>
    <br />
    <div id="divId" onclick="changeImageOnClick(event)">
        <img class="imgStyle" src="/Images/Hydrangeas.jpg" />
        <img class="imgStyle" src="/Images/Jellyfish.jpg" />
        <img class="imgStyle" src="/Images/Koala.jpg" />
        <img class="imgStyle" src="/Images/Penguins.jpg" />
        <img class="imgStyle" src="/Images/Tulips.jpg" />
    <script type="text/javascript">

        var images = document.getElementById("divId")

        for (var i = 0; i < images.length; i++)
            images[i].onmouseover = function ()
       = 'hand';
       = 'red';
            images[i].onmouseout = function ()
       = 'pointer';
       = 'grey';

        function changeImageOnClick(event)
            event = event || window.event;
            var targetElement = || event.srcElement;

            if (targetElement.tagName == "IMG")
                mainImage.src = targetElement.getAttribute("src");

Finally run the application and test it.

JavaScript tutorial


  1. i need next and previous button? so i can change image trough that button also

  2. What is the use/functionality of "||" used in above code ? event || window.event; || event.srcElement;

    1. || this means logical OR ,event in function || the following code should works

  3. changeImageOnClick(event) --- please explain me why we are passing event as a parameter to this function.


If you like this website, please share with your friends on facebook and Google+ and recommend us on google using the g+1 button on the top right hand corner.