Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

135
Views
How can I get my img src to keep changing between 3-4 images when hovered?

I am currently working on a college project for a clothing website, so what I want is that when the user hovers over a product image on the main feed, the product image keeps changing between 3-4 images of that product with a few milliseconds of transition.

this is my HTML code

<div class="imagebox">
                <a href="#"><img src="../img/Mom Sarees/5pcs/A93A5321.JPG" alt="Saree no: A93A5321 "></a>
            </div>

this is the CSS

.imagebox{
display: inline-block;}

.imagebox img{
margin-top: 20px;
height: 400px;
margin-right: 10px;}

Is there a way to do that using CSS or JS?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I've implemented an example by JS, I hope this will be helpful.

let intervalId;
let i = 0;

document.querySelectorAll('.product-images').forEach((poroduct) => {
  const productImages = poroduct.querySelectorAll('img');

  poroduct.addEventListener('mouseenter', function() {
    fadeImg(productImages);
    intervalId = setInterval(() => fadeImg(productImages), 1500);
  });

  poroduct.addEventListener('mouseleave', function() {
    clearInterval(intervalId);
    productImages[i].classList.remove('active');
    productImages[0].classList.add('active');
    i = 0;
  });
});

function fadeImg(productImages) {
  productImages[i].classList.remove('active');
  i = (i + 1) % 4;
  productImages[i].classList.add('active');
}
.container {
  display: flex;
}

.imagebox {
  position: relative;
  flex: 1;
  margin: 15px;
}

.imagebox img {
  max-height: 200px;
  max-width: 100%;
  position: absolute;
  opacity: 0;
  transition: opacity 500ms;
}

.imagebox img.active {
  opacity: 1;
}
<div class="container">
  <div class="imagebox">
    <a href="#" class="product-images">
      <img class="active" src="https://fakeimg.pl/350x200/550000/?text=Image1" />
      <img src="https://fakeimg.pl/350x200/005500/?text=Image2" />
      <img src="https://fakeimg.pl/350x200/000055/?text=Image3" />
      <img src="https://fakeimg.pl/350x200/005555/?text=Image4" />
    </a>
  </div>

  <div class="imagebox">
    <a href="#" class="product-images">
      <img class="active" src="https://fakeimg.pl/350x200/000000/?text=Image1" />
      <img src="https://fakeimg.pl/350x200/faaa22/?text=Image2" />
      <img src="https://fakeimg.pl/350x200/885500/?text=Image3" />
      <img src="https://fakeimg.pl/350x200/f500aa/?text=Image4" />
    </a>
  </div>

  <div class="imagebox">
    <a href="#" class="product-images">
      <img class="active" src="https://fakeimg.pl/350x200/0000ff/?text=Image1" />
      <img src="https://fakeimg.pl/350x200/00ff00/?text=Image2" />
      <img src="https://fakeimg.pl/350x200/ff0000/?text=Image3" />
      <img src="https://fakeimg.pl/350x200/ffff00/?text=Image4" />
    </a>
  </div>
</div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!