当前位置: 首页 > 面试题库 >

如何停止/重写Jquery超时功能?

凌波峻
2023-03-14
问题内容

我有一个小的jquery片段,该页面在屏幕顶部显示通知消息,以响应页面上的用户操作。该通知通常在Ajax操作之后显示,其中包含动态内容。

例如:

$("#mini-txt").html("Thank you!");
$("#mini").fadeIn("fast");
setTimeout(function() {$("#mini").animate({height: "hide", opacity: "hide"}, "medium");}, 3000);

该通知运行良好,除非用户连续快速执行两个或多个操作,否则超时功能将使自己感到困惑,并且第二条消息似乎在之前的3000毫秒之内。

如果执行新操作,是否有办法“杀死”先前的通知。我对动作/选择器没有问题,只是TimeOut函数....要么停止它,要么以某种方式覆盖它。还是有更好的选择让消息在消失前在屏幕上停留几秒钟?

谢谢。


问题答案:

首先,存储该setTimeout函数的返回值:

// Set the timeout
var timeout = setTimeout(function()
    {
        // Your function here
    }, 2000);

然后,当您准备取消超时…时,只需clearTimeout使用上次调用中的存储值进行调用setTimeout

// Then clearn the timeout
clearTimeout(timeout);


 类似资料:
  • 我有一个简单的lambda函数,它异步进行API调用,然后返回数据。99%的情况下效果很好。当API所用的时间超过lambda配置的超时时间时,它会给出一个预期的错误。现在的问题是,当我对lambda函数进行任何后续调用时,它会永久性地给我超时错误。 为了测试这种情况,我将lambda超时设置为3秒,并有办法在lambda中触发这两个函数。 Javascript 当我调用函数时,没有问题。当我调用

  • 问题内容: 我正在使用nodejs和mongoose —尝试在嵌套有递归函数和foreach的深层注释中找到特定的注释。有没有一种方法可以停止nodejs forEach?据我了解,每个forEach迭代都是一个函数,并且我不能只执行“ break”,而只能执行“ return”,但这不会停止foreach。 问题答案: 您无法打破。不过,我可以想到三种伪造方法。 1.The Ugly Way :

  • 我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。

  • 主要内容:实例,jQuery stop() 方法,实例jQuery stop() 方法用于在动画或效果完成前对它们进行停止。 停止滑动 时间是宝贵的,因此,我们为您提供快捷易懂的学习内容。 在这里,您可以通过一种易懂的便利的模式获得您需要的任何知识。 实例 jQuery stop() 滑动 演示 jQuery stop() 方法。 jQuery stop() 动画(带参数) 演示 jQuery stop() 方法 jQuery stop() 方法 j

  • 问题内容: 好的。 我可以从我的理解中得知某人正在滚动。因此,我试图找出有人停下来时该如何捕捉。从上面的示例中,您可以看到发生滚动时,我正在从一组元素中删除一个类。但是,我想在用户停止滚动时重新打开该类。 这样做的原因是,我打算在页面滚动时进行中转节目,以使页面具有我正在尝试的特殊效果。但是我尝试在滚动时删除的一个类与该效果冲突,因为它对某种性质是透明的。 问题答案: 更新资料 我写了一个扩展来增

  • 问题内容: 该程序在九次打印后完成: 如何停止进程(例如eclipse中的Java进程),因为它在9秒的时间限制后没有停止? 问题答案: 您遇到的问题是,取消哔声任务后,调度程序会保留活动线程。 如果存在活动的非守护程序线程,则JVM保持活动状态。 它使该线程保持不变的原因是您已在此行中告诉它这样做: 请注意以下文档: -即使在空闲状态下要保留在池中的线​​程数。 因此,您有两种可能的方法来导致J