Установить свойство объекта JavaScript с помощью функции - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь установить свойство объекта с помощью функции, но вместо этого я получаю значение 100, и ползунок застрял в середине.Что я делаю неправильно?Вот мой код:

term: {
        min: 1,
        max: function(){
          var period = document.getElementById("duration").value;
          if (this.period == "days"){
            var value = 31;
          } else if(this.period == "months"){
            value = 12;
          } else {
            value = 365;
          };
          return value;
        },

        step: 1,
        _value: 10,
        get value() {
          return parseFloat(this._value);
        },
        set value(val) {
          this._value = val;
        },
        reset: function() {
          this._value = 12;
        }
      },

И вот результат на этом интерфейсе:

enter image description here

РЕДАКТИРОВАТЬ:

Вот как я использую мин и макс:

document.querySelectorAll('.controller-row')
    .forEach(function(group) {
      var min = inputValues[group.id].min;
      var max = inputValues[group.id].max;
      var value = inputValues[group.id].value;
      var step = inputValues[group.id].step;

      var boundary = max ? 100 * (value - min) / (max - min) : 0;

      var range = group.querySelector('input[type=range]');

      range.setAttribute('style',
        'background-image: linear-gradient(90deg, #4098FF 0%, #4098FF ' + boundary + '%, white ' + boundary + '%);'
      );
      range.min = min;
      range.max = max;
      range.value = value;
      range.step = step;

      var textInput = group.querySelector('input[type=number]');
      textInput.min = min;
      textInput.max = max;
      textInput.value = value;
      textInput.step = step;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...