使用函数设置JavaScript对象的属性

时间:2019-02-24 19:30:59

标签: javascript function object

我正在尝试使用函数设置对象的属性,但是,我得到的值为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;
    });

0 个答案:

没有答案