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


JQuery UI .toggleClass()用法及代碼示例


.toggleClass( className [, switch ] [, duration ] [, easing ] [, complete ] )

返回:jQuery

說明:根據類的存在或 switch 參數的值,從匹配元素集中的每個元素中添加或刪除一個或多個類,同時為所有樣式更改設置動畫。

  • .toggleClass( className [, switch ] [, duration ] [, easing ] [, complete ] )
    • className
      類型:String
      為匹配集中的每個元素切換一個或多個類名(空格分隔)。
    • switch
      類型:Boolean
      一個布爾值,用於確定是否應添加或刪除該類。
    • duration(默認:400)
      類型:NumberString
      確定動畫將運行多長時間的字符串或數字。
    • easing(默認:swing)
      類型:String
      一個字符串,指示用於轉換的easing 函數。
    • complete
      類型:Function()
      動畫完成後調用的函數,每個匹配元素調用一次。
  • .toggleClass( className [, switch ] [, options ] )
    • className
      類型:String
      為匹配集中的每個元素切換一個或多個類名(空格分隔)。
    • switch
      類型:Boolean
      一個布爾值,用於確定是否應添加或刪除該類。
    • options
      類型:Object
      所有動畫設置。所有屬性都是可選的。
      • duration(默認:400)
        類型:NumberString
        確定動畫將運行多長時間的字符串或數字。
      • easing(默認:swing)
        類型:String
        一個字符串,指示用於轉換的easing 函數。
      • complete
        類型:Function()
        動畫完成後調用的函數,每個匹配元素調用一次。
      • children(默認:false)
        類型:Boolean
        動畫是否應額外應用於匹配元素的所有後代。應謹慎使用此函數,因為確定要為哪些後代設置動畫的成本可能非常昂貴,並且會隨著後代的數量線性增長。
      • queue(默認:true)
        類型:BooleanString
        一個布爾值,指示是否將動畫放置在效果隊列中。如果 false ,動畫將立即開始。也可以提供一個字符串,在這種情況下,動畫將添加到由該字符串表示的隊列中。

與原生 CSS 過渡類似,jQuery UI 的類動畫提供了從一種狀態到另一種狀態的平滑過渡,同時允許您保留有關在 CSS 中更改哪些樣式以及在 JavaScript 中更改哪些樣式的所有細節。所有類動畫方法,包括 .toggleClass() ,都支持自定義持續時間和緩動,並在動畫完成時提供回調。

並非所有樣式都可以設置動畫。例如,沒有辦法為背景圖像設置動畫。任何無法動畫的樣式都將在動畫結束時更改。

這個插件擴展了 jQuery 的內置 .toggleClass() 方法。如果沒有加載 jQuery UI,調用 .toggleClass() 方法可能不會直接失敗,因為該方法仍然存在。但是,不會發生預期的行為。

例子:

切換匹配元素的類"big-blue"。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>toggleClass demo</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
  <style>
  div {
    width: 100px;
    height: 100px;
    background-color: #ccc;
  }
  .big-blue {
    width: 200px;
    height: 200px;
    background-color: #00f;
  }
  </style>
  <script src="//code.jquery.com/jquery-1.12.4.js"></script>
  <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
 
<div></div>
 
<script>
$( "div" ).click(function() {
  $( this ).toggleClass( "big-blue", 1000, "easeOutSine" );
});
</script>
 
</body>
</html>

演示:

相關用法


注:本文由純淨天空篩選整理自jqueryui.com大神的英文原創作品 .toggleClass()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。