1

how can I change ::after in JavaScript?

I want when I hovered on it change the ::after property width.

var li_a = document.getElementsByClassName('effect-underline');
console.log(li_a);
var li_a_width;
var n;

for (n = 0; n < li_a.length; n++) {


    li_a[n].addEventListener('mouseover', function() {

        li_a_width = this.offsetWidth;
        this.style.width = li_a_width;
        console.log(li_a_width);
    })
}
.effect-underline::after {
    content: '';
    position: absolute;
    left: 0;
    display: inline-block;
    height: 2px;
    width: 100%;
    border-bottom: 1px solid #303F9F;
    opacity: 0;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
}

.effect-underline:hover::after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
 <ul class="nav navbar-nav">
     <li class="effect-underline"><a href="#">Home </a></li>
     <li class="effect-underline"><a href="#">About </a></li>
     <li class="effect-underline"><a href="#">Resume </a></li>
     <li class="effect-underline"><a href="#">Contact </a></li>
  </ul>

Please help me to change width property in after by JavaScript.

kimia
  • 11
  • 5

0 Answers0