我写了方法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);
};
答案 0 :(得分:0)
您必须在正在进行的通话中打发时间:
setTimeout(function () {
fadeIn(e, time); // <<<
}, time)
现在这是将不透明度增加1/100的间隔时间,因此您可能也想除以该时间:
Element.prototype.fadeIn = function (time) {
fadeIn(this,time / 100);
};
所以现在
el.fadeIn(1000);
需要一秒钟的时间淡入。