在函数jquery的超时中显示div

在函数jquery的超时中显示div,jquery,settimeout,Jquery,Settimeout,在我的脚本中,在某个时刻,显示数组中随机单词的函数“showshows”被“暂停”或超时一秒钟。在这个暂停中,我想让我的whitebox div出现——正好这一秒。 我这样做了,这是'好',但我想它更快。有没有更聪明的方法来实现这一点 setTimeout(showswords, 1000); $("#whitebox").fadeIn("fast").delay(1000).fadeOut("fast"); 可以指定淡入淡出/淡出效果的速度(以毫秒为单位)。要获得更快/更平滑的效果,请尝试以

在我的脚本中,在某个时刻,显示数组中随机单词的函数“showshows”被“暂停”或超时一秒钟。在这个暂停中,我想让我的whitebox div出现——正好这一秒。 我这样做了,这是'好',但我想它更快。有没有更聪明的方法来实现这一点

setTimeout(showswords, 1000);
$("#whitebox").fadeIn("fast").delay(1000).fadeOut("fast");

可以指定淡入淡出/淡出效果的速度(以毫秒为单位)。要获得更快/更平滑的效果,请尝试以下操作:

$("#whitebox").fadeIn(350, function(){
   $(this).delay(500).fadeOut(350);
});
setTimeout(function() {
  $("#whitebox")
    .fadeIn(400)  // duration, in ms
    .promise
    .done(function(){
      $("#whitebox").fadeOut(400); // duration, in ms
    });
}), 1000);

你到底想在这里干什么?淡入
#白盒
,过一会儿再淡出
#白盒
setTimeout
可能是不必要的,这取决于您尝试执行的操作。然而

如果您使用超时时间间隔和动画的持续时间,您应该能够实现您想要的;基本上,
setTimeout
将允许您延迟调用函数(例如,
showworks()
),直到经过一定的时间(在您的示例中为1000毫秒)

当执行
showworks()
时,您可以在框中淡入,
#whitebox
并延迟您想要的时间,该方法采用一个参数,
duration
,您可以使用该参数定义动画所需的时间,而不是将持续时间作为方法选项的一部分传入,可以指定以毫秒为单位的速度,以便执行以下操作:

$("#whitebox").fadeIn(350, function(){
   $(this).delay(500).fadeOut(350);
});
setTimeout(function() {
  $("#whitebox")
    .fadeIn(400)  // duration, in ms
    .promise
    .done(function(){
      $("#whitebox").fadeOut(400); // duration, in ms
    });
}), 1000);
。。。将在400毫秒内淡入
#whitebox
,动画完成后将在相同的时间内淡出。这将在执行超时
setTimeout
命令后大约一秒钟执行


您可以为
.fadeIn()
函数提供第二个参数,而不是使用,并将其用作“done”回调方法。

您是否可以添加一个JSFIDLE来更改延迟?