Установить параметр для добавленного метода для элемента объекта? - PullRequest
0 голосов
/ 05 июля 2018

Я написал метод fadeIn и fadeOut и знаю, что он в jQuery, но это своего рода практика, поэтому я хочу добавить параметр в метод fadeIn:

function fadeIn(e, time) {
  // e.style.opacity = 1;
  var op = Number(getComputedStyle(e).opacity).toPrecision(2);
  e.style.opacity = op;
  if (op >= 1) {
    return;
  }
  e.style.opacity = Number(op) + 0.01;
  setTimeout(function() {
    fadeIn(e)
  }, time)
}

function fadeOut(e) {
  // e.style.opacity = 0;
  var op = Number(getComputedStyle(e).opacity).toPrecision(2);
  e.style.opacity = op;
  if (op <= 0) {
    return;
  }
  e.style.opacity = Number(op) - 0.01;
  setTimeout(function() {
    fadeOut(e)
  }, 10)
}

Element.prototype.fadeIn = function(time) {
  fadeIn(this, time);
};
Element.prototype.fadeOut = function() {
  fadeOut(this);
};

1 Ответ

0 голосов
/ 05 июля 2018

Вы должны передать время при текущих звонках:

setTimeout(function () {
    fadeIn(e, time); // <<<
}, time)

Теперь это интервал времени для увеличения непрозрачности на 1/100, так что вы также можете разделить время:

Element.prototype.fadeIn = function (time) {
   fadeIn(this,time / 100);
};

Так что теперь

 el.fadeIn(1000); 

потребуется одна секунда, чтобы исчезнуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...