jQuery UI API - .switchClass()
所屬類別
特效(Effects) | 特效核心(Effects Core) | 方法重載(Method Overrides)
用法
描述:當動畫樣式改變時,為匹配的元素集合內的每個元素添加和移除指定的 Class。
返回:jQuery
.switchClass( removeClassName, addClassName [, duration ] [, easing ] [, complete ] )
參數 | 類型 | 描述 | 默認值 |
---|---|---|---|
removeClassName | String | 要從每個匹配的元素的 class 屬性中移除的一個或多個 class 名稱,多個 class 名稱用空格分隔 。 | |
addClassName | String | 要添加到每個匹配的元素的 class 屬性中的一個或多個 class 名稱,多個 class 名稱用空格分隔。 | |
duration | Number 或 String | 一個字串或一個數字,指定動畫將運行多久。 | 400 |
easing | String | 一個字串,指示要使用的 easing 函數。 | swing |
complete | Function() | 一旦動畫完成時要調用的函數。 |
.switchClass( removeClassName, addClassName [, options ] )
參數 | 類型 | 描述 |
---|---|---|
removeClassName | String | 要從每個匹配的元素的 class 屬性中移除的一個或多個 class 名稱,多個 class 名稱用空格分隔 。 |
addClassName | String | 要添加到每個匹配的元素的 class 屬性中的一個或多個 class 名稱,多個 class 名稱用空格分隔。 |
options | Object | 所有的動畫設置。所有的屬性是可選的。
|
.switchClass()
方法允許您在動畫過渡中,添加 Class 的同時移除 Class。
與原生的 CSS 過渡相似,jQuery UI 的 class 動畫提供了一個平穩的從一個狀態轉換到另一個狀態的過渡,同時確保所有樣式變化的細節是通過 CSS 來完成的,而不需要使用 JavaScript。所有的 class 動畫方法,包括 .switchClass()
,允許自定義動畫持續時間和 easing 函數,在動畫完成時也提供了一個回調。
並非所有的樣式都可以進行動畫添加。例如,對背景圖像進行動畫化。任何不能動畫化的樣式都將在動畫結束時改變。
該插件擴展自 jQuery 內置的 .switchClass() 方法。如果 jQuery UI 未加載,調用 .switchClass()
方法不會直接失敗,因為該方法在 jQuery 中存在。但是不會發生預期的行為。
實例
添加 class "blue" 到匹配的元素,並從匹配的元素中移除 class "big"。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>.switchClass() 演示</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <style> div { width: 100px; height: 100px; background-color: #ccc; } .big { width: 200px; height: 200px; } .blue { background-color: #00f; } </style> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> </head> <body> <div class="big"></div> <script> $( "div" ).click(function() { $( this ).switchClass( "big", "blue", 1000, "easeInOutQuad" ); }); </script> </body> </html>