Потому что в таком случае while станет бесконечным. Ибо ему надо обращаться к предыдущему состоянию условия, чтобы изменить его. А в вашем варианте получится так, что он каждый раз будет новую переменную создавать. Проверьте сами
Genri_Rus, я вам уже выше сказал, что ваш код не годится. Подумайте его заново. Перепишите. Иногда начинать с чистого листа решает проблему в разы быстрее и далее улучшает качество продукта по сравнению с текущим его состоянием. Постоянно практикую.
Genri_Rus, вам надо продумать код. Ибо вы все впихали в 1 функцию (которая, между прочем, также и создает ползунок) и вызываете ее при ресете.
Как исправить: логику/события разбить на отдельные методы/функции.
Если это функции, то пусть в качестве 1 из аргументов принимают уже созданный ползунок и работают с ним