首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在javascript中设置时间延迟

如何在javascript中设置时间延迟
EN

Stack Overflow用户
提问于 2013-07-26 22:13:30
回答 6查看 954.3K关注 0票数 228

我在我的网站上有这一块js来交换图像,但需要一个延迟,当你点击图像的第二次。延迟应为1000ms。因此,您可以单击img.jpg,然后就会出现img_onclick.jpg。然后单击img_onclick.jpg图像,在再次显示img.jpg之前应该会有1000ms的延迟。

代码如下:

代码语言:javascript
复制
jQuery(document).ready(function($) {

    $(".toggle-container").hide();
    $(".trigger").toggle(function () {
        $(this).addClass("active");
        $(".trigger").find('img').prop('src', 'http://localhost:8888/images/img_onclick.jpg');
    }, function () {
        $(this).removeClass("active");
        $(".trigger").find('img').prop('src', 'http://localhost:8888/images/img.jpg');
    });
    $(".trigger").click(function () {
        $(this).next(".toggle-container").slideToggle();
    });
});
EN

回答 6

Stack Overflow用户

发布于 2014-10-11 03:05:59

代码语言:javascript
复制
setTimeout(function(){


}, 500); 

将您的代码放在{ }

500 = 0.5秒

2200 = 2.2秒

等。

票数 70
EN

Stack Overflow用户

发布于 2019-02-15 12:58:22

对于同步呼叫,您可以使用以下方法:

代码语言:javascript
复制
function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}
票数 11
EN

Stack Overflow用户

发布于 2020-12-29 13:34:32

您可以使用promise

代码语言:javascript
复制
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

然后使用此方法

代码语言:javascript
复制
console.log("Hello");
sleep(2000).then(() => { console.log("World!"); });

代码语言:javascript
复制
console.log("Hello");
await sleep(2000);
console.log("World!");
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17883692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档