Js таймер на событие?
while тут не нужен. Нужно сделать так: jsfiddle.net/7m6waxLmvar hlt1 = 10,
    hlt2 = 10;

function change() {
    hlt1 -= 1;
    hlt2 -= 1;
    
    var inProgress = hlt1 > 0 && hlt2 > 0;
    
    console.log(hlt1, hlt2, inProgress);
    
    if (inProgress) {
        setTimeout(change, 1000);
    }
}

setTimeout(change, 1000);
while тут не нужен. Нужно сделать так: jsfiddle.net/7m6waxLmvar hlt1 = 10,
    hlt2 = 10;

function change() {
    hlt1 -= 1;
    hlt2 -= 1;
    
    var inProgress = hlt1 > 0 && hlt2 > 0;
    
    console.log(hlt1, hlt2, inProgress);
    
    if (inProgress) {
        setTimeout(change, 1000);
    }
}

setTimeout(change, 1000);