当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .delay()用法及代码示例


用法
.delay( duration [, queueName ] ) => jQuery

说明:设置一个定时器来延迟队列中后续项目的执行。

  • 添加的版本:1.4.delay( duration [, queueName ] )

    • duration
      类型:Integer
      一个整数,指示延迟执行队列中下一项的毫秒数。
    • queueName
      类型:String
      包含队列名称的字符串。默认为 fx ,标准效果队列。

在 1.4 版本中添加到 jQuery,.delay() 方法允许我们延迟执行队列中跟随它的函数。它可以与标准效果队列或自定义队列一起使用。只有队列中的后续事件被延迟;例如,这将 not 延迟不使用效果队列的 .show().hide() 的 no-arguments 形式。

持续时间以毫秒为单位;较高的值表示较慢的动画,而不是较快的动画。可以提供字符串 'fast''slow' 来分别表示 200 和 600 毫秒的持续时间。

例如,使用标准效果队列,我们可以在 <div id="foo">.slideUp().fadeIn() 之间设置 800 毫秒的延迟:

$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );

执行此语句时,元素向上滑动 300 毫秒,然后暂停 800 毫秒,然后淡入 400 毫秒。

.delay() 方法最适合在排队的 jQuery 效果之间进行延迟。因为它是有限的——例如,它不提供取消延迟的方法——.delay() 不能替代 JavaScript 的本机 setTimeout 函数,这可能更适合某些用例。

例子:

动画两个 div 的隐藏和显示,在显示之前延迟第一个。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>delay demo</title>
  <style>
  div {
    position: absolute;
    width: 60px;
    height: 60px;
    float: left;
  }
  .first {
    background-color: #3f3;
    left: 0;
  }
  .second {
    background-color: #33f;
    left: 80px;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<p><button>Run</button></p>
<div class="first"></div>
<div class="second"></div>
 
<script>
$( "button" ).click(function() {
  $( "div.first" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );
  $( "div.second" ).slideUp( 300 ).fadeIn( 400 );
});
</script>
 
</body>
</html>

演示:

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .delay()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。