如何确保在另一个函数之后调用一个javascript函数

时间:2013-06-20 08:29:55

标签: javascript html

我是javascript的新手,不知道它是否使用堆栈来保持函数调用的跟踪。

这是我遇到的代码

function bounce(nIdx,bMulti)
{
    idDivread.style.display='';
    initBounceMgr();

    cBounceMgr.bounce(document.all.KnlTbl.rows[nIdx].cells[0].procName,bMulti);
    readKill();
}

function readKill()
{
    idDivread.style.display='none';
}

此跳出函数由onclick事件调用,我想显示一个div,因为它有等待符号的图像。这是有效的,但因为我想在函数调用完成后删除此等待符号,我应用了此readKill函数。但那时候那个形象根本就不存在了 似乎在这两个函数之前调用了这个函数 如何确保在这两个函数之后执行readkill函数。

1 个答案:

答案 0 :(得分:4)

按照您期望的顺序调用它们。问题可能来自以下事实:如果bounce是动画或类似动画,它可能会立即返回并以异步方式执行动画。所以它实际上正在做的是显示div,开始反弹,然后隐藏div并在隐藏的div中进行反弹动画。

通常像这样运行的方法会接受回调参数。这是一种在完成他们想要的操作后调用的方法。在这种情况下,您可以将readKill作为回调函数传递而不是直接调用它。

我不确定cBounceMgr对象是什么,所以无法为您提供准确的语法。