function turn(id, player) {
    let value = parseInt($('#' + id).attr('data-value'));
    showValue();
    id = parseInt(id);
    for (let i = 1; i <= value; i++) {
        let newId = id + i;
        setTimeout(function () {
            if (player == 'p1') {
                let value = parseInt($('#' + newId).attr('data-value'));
                if (newId == 14) {
                    let mainValue = parseInt($('#main-1').attr('data-value'));
                    $('#main-1').attr('data-value', mainValue + 1);
                    // i want to add i++; but nothing happen
                } else {
                    $('#' + newId).attr('data-value', value + 1);
                }
            } else {
                let value = parseInt($('#' + newId).attr('data-value'));
                if (newId == 7) {
                    let mainValue= parseInt($('#main-2').attr('data-value'));
                    $('#main-2').attr('data-value', mainValue + 1);
                    //here too
                } else {
                    $('#' + newId).attr('data-value', value + 1);
                }
            } showValue();
        }, i * 500);
    }
}
when i console.log the i in that spot, nothing happened. but when i change i outside setTimeout function, it works. how can i fix that?
 
     
    