# progress steps

1
2
3
4
const $ = v => document.querySelector(v);
const $$ = v => document.querySelectorAll(v);
const prevBtn = $("#prev");
const nextBtn = $("#next");
const progress=$$('.progress')
const progressBar=$('#progress')
const min=0,max=progress.length-1
let currentActive=0
console.log($('#progress').style);
prevBtn.addEventListener('click',()=>{
    if(prevBtn.classList.contains('disabled')) return;
    update()
})
nextBtn.addEventListener('click',()=>{
    if(nextBtn.classList.contains('disabled')) return;
    console.log(currentActive);
    if(currentActive>=max-1){
        handleClass(nextBtn).addClass('disabled').removeClass('btn-active')
    }
    if(currentActive<=max-1){
        currentActive++
    }
    if(currentActive>0){
        handleClass(prevBtn).addClass('btn-active').removeClass('disabled')
    }
    update()
})
prevBtn.addEventListener('click',()=>{
    if(prevBtn.classList.contains('disabled')) return;
    console.log(currentActive);
    if(currentActive<=1){
        handleClass(prevBtn).addClass('disabled').removeClass('btn-active')
    }
    if(currentActive>0){
        currentActive--
    }
    if(currentActive<=max-1){
        handleClass(nextBtn).addClass('btn-active').removeClass('disabled')
    }
    update()
})

function handleClass(el){
    let methods={
        addClass,
        removeClass
    }
    function addClass(c){
        el.classList.add(c)
        return methods
    }
    function removeClass(c){
        el.classList.remove(c)
        return methods
    }
    return methods
}
function update(){
   progress.forEach((item,index)=>{
       console.log(item);
      if(index<=currentActive){
          item.classList.add('active')
      }else{
          item.classList.remove('active')
      }
      progressBar.style.width=(currentActive/max)*100+'%'
    })
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68