Видимо, проблема в атрибуте min.Поскольку у вас есть min = "1", когда вы находитесь в 20, сначала идет 21 (потому что min равен 1), а затем начинается с правильного шага.Чтобы решить, просто обновите также атрибут min.
element.attr('step', adim);
element.attr('min', adim);
С этим вы можете вернуться назад
$(function() {
var adim;
$('#points').on('input', function() {
var element = $('#points'),
deger = element.val()
// Set rules here
if (deger < 20) {
adim = 1;
} else if (deger == 20) {
adim = adim === 2 ? 1 : 2;
} else if (deger == 50) {
adim = adim == 5 ? 2 : 5;
} else if (deger == 100) {
adim = adim == 10 ? 5 : 10;
} else if (deger == 200) {
adim = adim == 50 ? 10 : 50;
}
element.attr('step', adim);
element.attr('min', adim);
$('#deger').text(deger);
$('#adim').text(adim);
});
});