【问题标题】:Wait for jQuery show() to finish before continuing function?在继续功能之前等待 jQuery show() 完成?
【发布时间】:2009-06-23 09:16:15
【问题描述】:

在我的函数结束之前,我无法使用 jquery show() 使我的 div 可见!它实际上适用于 IE/FF,但不适用于 Chrome。在继续执行我的功能之前,如何确保我的元素可见?

这是我的代码:

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

【问题讨论】:

  • 使用您那里的代码,元素 应该 之后直接显示,如果这在 Chrome 中不起作用,则将被视为错误。你确定你在节目中没有“慢”或“速度”之类的东西吗?
  • 不,我不使用速度参数。顺便说一句,当我使用它们时,我的 div 在功能结束之前不会出现在任何浏览器(FF/IE/Chrome)中。真的很奇怪。

标签: jquery google-chrome show


【解决方案1】:

添加回调显示:

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

动画完成后会调用回调函数。

【讨论】:

  • 我正在使用 scrollTop() 并且不能不显示,所以我这样做是为了等待继续,但是,即使这样有效,也是从左侧为节目制作动画并做一些奇怪的事情......
【解决方案2】:

IMO,最好把你的函数的其余部分放在回调参数中show

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

这里需要注意的是,选择器中的每个元素都会(单独)触发回调。不过,如果您只显示一个项目,那很好。

【讨论】:

  • 希望只有一个 id 为 progressbar_area 的元素!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多