小兔网

所属类别

特效(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所有的动画设置。所有的属性是可选的。
  • duration(默认值:400
    类型:Number 或 String
    描述:一个字符串或一个数字,指定动画将运行多久。
  • easing(默认值:swing
    类型:String
    描述:一个字符串,指示要使用的 easing 函数。
  • complete
    类型:Function()
    描述:一旦动画完成时要调用的函数。
  • children(默认值:false
    类型:Boolean
    描述:指定动画是否被应用到匹配元素的所有后代。此功能应慎重使用,因为判断元素是否是动画的后代的代价是很大的,会根据后代的数量线性增长。
  • queue(默认值:true
    类型:Boolean 或 String
    描述:一个布尔值,指示是否将动画放在特效队列中。如果是 false,动画将立即开始。自 jQuery 1.7 起,queue 选项也接受一个字符串,在这种情况下,动画添加到由字符串表示的队列中。

.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="https://zhishitu.com/">  <style>  div {    width: 100px;    height: 100px;    background-color: #ccc;  }  .big {    width: 200px;    height: 200px;  }  .blue {    background-color: #00f;  }  </style>  <script src="/images/2021/07/13/07/2021071307522414769110.js"></script>  <script src="/images/2021/07/13/07/2021071307522415168421.js"></script></head><body> <div class="big"></div> <script>$( "div" ).click(function() {  $( this ).switchClass( "big", "blue", 1000, "easeInOutQuad" );});</script> </body></html>