當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。