等待 jQuery 的 show() 方法执行完毕再继续执行函数?

7

在我的函数结束之前,我无法使用jQuery show()方法让我的div可见!它在IE / FF中实际上可以工作,但在Chrome中不行。如何确保在继续执行函数之前,我的元素是可见的?

这是我的代码:

function doOperation(){
    $("#progressbar_area").show();
    (...)
}

根据你的代码,该元素应该直接显示在之后,如果在Chrome中无法正常工作,就会被视为一个错误。你确定没有像“slow”或“speed”这样的显示速度设置吗? - Paolo Bergantino
不,我不使用速度参数。顺便说一下,当我使用它们时,我的Div在任何浏览器(FF/IE/Chrome)中都不会显示,直到函数结束为止。真的很奇怪。 - David
2个回答

16

添加一个回调函数来显示:

$("#progressbar_area").show(speed, function() {});
回调函数将在动画完成时被调用。

1
我正在使用scrollTop(),但不能使用display none,所以我在等待继续执行此操作,但即使如此,它仍会从左侧进行动画显示并出现奇怪的问题... - Santiago Rebella

0

在我看来,最好将函数的其余部分放在回调参数show中:

$("#progressbar_area").show("fast", function() {...} );

这里的注意点是回调函数会分别对选择器中的每个元素触发。如果只显示一个项目,则可以。


希望只有一个id为progressbar_area的元素! - redsquare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接