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

576
Views
how to know opacity value using javascript?

I am using transition: opacity 5s; property. I want to show different alert or console message when my opacity value is 0.4 or 0.6 or .2 . on button click I am doing transition but I want to know opacity progress so that i will show those message ?

is there any way to do this

var btn = document.querySelector("button");
var par = document.querySelector("#parId");
btn.addEventListener("click", (e) => {
  par.classList.add("removed");
});
par.addEventListener("transitionend", () => {
  par.remove();
});


#parId {
  transition: opacity 5s;
}
.removed {
  opacity: 0;
}

we are getting transitionend callback if there any progress callback where I will check opacity value ?

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

0

You could potentially check periodically like this, although your interval will need to be at least the speed of the opacity animation or be quicker than it to catch the values.

var par = document.querySelector("#parId");
    
     setInterval(function() {
      console.log(window.getComputedStyle(par).opacity);
     }, 100)
#parId{
opacity: 0.2;
  transition: opacity 3s ease-in-out;
  }
  
  
#parId:hover {
  opacity: 1;
}
<div id="parId">
test
</div>

about 4 years ago · Juan Pablo Isaza Report

0

There is no event that can be listened to to give what you want - unless you are going to use a linear transition. In that case you can carve your changes of opacity up into 0.2s slots, changing opacity on transitionend to the next value down - 0.8, 0.6 etc.

Your code however takes the default for the transition-timing-function property which is ease - not linear - so transitionend is of no use to you.

This snippet polls the opacity changes every tenth of a second and writes the current opacity to the console so you can see what is happening.

A couple of points: you will have to check for when the opacity goes just less than one of your break points, you are unlikely every to hit it just at exactly 0.6s or whatever; also notice that the console carries on being written to after the element has totally disappeared. The timing will not be exact, things are happening asynchronously.

<style>
#parId {
  transition: opacity 5s;
  width: 50vw;
  height: 50vh;
  background: blue;
  opacity: 1;
  display: inline-block;
}
.removed {
  opacity: 0;
}
</style>
<div id="parId"></div>
<button>Click me</div>
<script>
var btn = document.querySelector("button");
var par = document.querySelector("#parId");
btn.addEventListener("click", (e) => {
 let interval = setInterval(function () {
    const opacity = window.getComputedStyle(par).opacity
    console.log(opacity);
    if (opacity == 0) {clearInterval(interval);}
    }, 100);
    par.style.opacity = 0;
});
</script>

about 4 years ago · Juan Pablo Isaza Report

0

Take a look in this example https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/animationend_event

You could define your animation stages as diferent ranimations on css then call them in chain via javascript. Before, you must set an event listener for the animationend event, and every time the event is fired you check the #parId opacity. You could do it.with jQuery to, totaly in javascript

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!