Почему не изменяется ширина?
Не =-, а -=. =- просто присваивает значение со знаком минус, а -= это короткая формаa = a - 1 // тоже самое, что a -= 1
Также, в поле width содержится не число, а строка вида 10px, поэтому вы должны сначала преобразовать ее в число. Да и вы почему-то пытаетесь отнять не число, а строку.
Вот так правильнееpercent.style.width = (parseInt(percent.style.width) - 50) + 'px';
сначала надо получить значение ширины блока, а потом это значение уменьшить
https://codepen.io/Lareta/pen/LoNjZz