【问题标题】:jQuery - Waiting 2 seconds before hiding [duplicate]jQuery - 在隐藏前等待 2 秒[重复]
【发布时间】:2014-03-24 01:22:16
【问题描述】:

因此,在我的代码中,该函数应该使#aboutPopOut 向左滑动,然后在 2 秒后,fadescreen 变为 .hide()。滑动有效,但等待和隐藏无效。这是我的功能;

function aboutHide() {
    $("#aboutPopOut").animate({ left: "-60%" }, 500);
    setTimeout(function() {
        $("#fadeScreen").wait(2).hide();
    }, 500);
};

请帮我找出问题所在。所有回复将不胜感激。

【问题讨论】:

  • 是什么让你相信 jQuery 有一个wait() 方法?
  • 我有时在 lua 中编写脚本,它有一个 wait() 方法。 jQuery 有什么代替 wait()?
  • JavaScript 有 setTimeout()。 jQuery 有.delay(),但除非您将.hide() 操作排队,否则它将无法工作。

标签: javascript jquery html css web


【解决方案1】:

您正在寻找.delay method。您还必须将一个数字传递给.hide 以使其成为动画方法,否则.delay 无效。

 $("#fadeScreen").delay(2000).hide(0);

【讨论】:

  • 这应该是公认的答案。隐藏必须排队才能工作。
【解决方案2】:

试试这个

function aboutHide() {
    $("#aboutPopOut").animate({ left: "-60%" }, 500);
    setTimeout(function() {
        $("#fadeScreen").delay(2000).hide();
    }, 500);
};

【讨论】:

  • 完美运行。谢谢!
  • 必须入队:$("#fadeScreen").delay(2000).hide(0);
  • 这不应该工作:jsfiddle.net/unuD5.
  • 其他的都是对的。这不应该工作。此外,与setTimeout 相比,使用.animate() 调用的回调会更符合jQuery 习惯,尽管这是另一个话题。但由于无论如何都在使用setTimeout,他们可以将500 更改为2500
【解决方案3】:

更新以下内容..

function aboutHide() {
$("#aboutPopOut").animate({ left: "-60%" }, 500);
setTimeout(function() {
$("#fadeScreen").delay(2000).hide();
}, 500);
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    相关资源
    最近更新 更多