在完成之前执行flush javascript

时间:2012-07-09 11:13:28

标签: javascript

我写了一个函数,在执行另一个函数之前等待x毫秒。现在我有问题,它完成后不会执行任何更改。

this.changeColor('#99FFCC');
this.pausecomp(this, 'changeColor','#FFFFFF', 1000);

changeColor = function (color)
{
    this.inputElem.style.backgroundColor = color;
};


pausecomp = function (element, meth, argument, ms)
{
    ms += new Date().getTime();
    while (new Date() < ms) {}
    element[meth](argument);
}

此脚本将按预期执行,但在完成所有操作之前不会更改颜色。因此,500毫秒不会显示颜色......

我不能使用setTimeout()

我的主要目标是闪烁文本框背景,所以如果有办法用css或其他任何方式做这件事,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

尝试这样做:

changeColor(this, '#99FFCC');
pausecomp(this, 'changeColor','#FFFFFF', 1000);

changeColor = function (element, color)
{
    element.inputElem.style.backgroundColor = color;
};


pausecomp = function (element, meth, argument, ms)
{
    setTimeout(function() {element[meth](argument); }, ms);
}