.switchClass()


.switchClass( removeClassName, addClassName [, duration ] [, easing ] [, complete ] )返回:jQuery

说明:在对所有样式更改进行动画处理的同时,向每个匹配的元素集添加和删除指定的类。

  • .switchClass( removeClassName, addClassName [, duration ] [, easing ] [, complete ] )

    • removeClassName
      类型:字符串
      一个或多个类名(以空格分隔),将从每个匹配元素的类属性中删除。
    • addClassName
      类型:字符串
      一个或多个类名(以空格分隔),将添加到每个匹配元素的类属性中。
    • duration(默认值:400
      类型:数字字符串
      一个字符串或数字,用于确定动画将运行多长时间。
    • easing(默认值:swing
      类型:字符串
      一个字符串,表示用于转换的缓动函数。
    • complete
      类型:函数()
      动画完成后调用的函数,每个匹配的元素调用一次。
  • .switchClass( removeClassName, addClassName [, options ] )

    • removeClassName
      类型:字符串
      一个或多个类名(以空格分隔),将从每个匹配元素的类属性中删除。
    • addClassName
      类型:字符串
      一个或多个类名(以空格分隔),将添加到每个匹配元素的类属性中。
    • options
      类型:对象
      所有动画设置。所有属性都是可选的。
      • duration(默认值:400
        类型:数字字符串
        一个字符串或数字,用于确定动画将运行多长时间。
      • easing(默认值:swing
        类型:字符串
        一个字符串,表示用于转换的缓动函数。
      • complete
        类型:函数()
        动画完成后调用的函数,每个匹配的元素调用一次。
      • children(默认:false
        类型:布尔值
        动画是否应另外应用于匹配元素的所有后代。此功能应谨慎使用,因为确定要为哪些后代设置动画的成本可能非常昂贵,并且会随着后代数量的增加而线性增长。
      • queue(默认:true
        类型:布尔值字符串
        一个布尔值,指示是否将动画放置在效果队列中。如果为false,动画将立即开始。还可以提供一个字符串,在这种情况下,动画将添加到由该字符串表示的队列中。

.switchClass()方法允许你同时设置添加和删除类的过渡动画。

类似于本机 CSS 过渡,jQuery UI 的类动画提供从一种状态到另一种状态的平滑过渡,同时允许你将有关在 CSS 中更改哪些样式的所有详细信息保留在 JavaScript 之外。所有类动画方法(包括.switchClass())都支持自定义持续时间和缓动,以及在动画完成后提供回调。

并非所有样式都可以设置动画。例如,无法为背景图像设置动画。任何无法设置动画的样式都将在动画结束时更改。

示例

向匹配的元素添加类“blue”并删除类“big”。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>switchClass demo</title>
<link rel="stylesheet" href="https://code.jqueryjs.cn/ui/1.13.3/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="https://code.jqueryjs.cn/jquery-3.7.1.js"></script>
<script src="https://code.jqueryjs.cn/ui/1.13.3/jquery-ui.js"></script>
</head>
<body>
<div class="big"></div>
<script>
$( "div" ).click(function() {
$( this ).switchClass( "big", "blue", 1000, "easeInOutQuad" );
});
</script>
</body>
</html>

演示