.switchClass()

优质
小牛编辑
138浏览
2023-12-01

Categories: Effects | Effects Core

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

Description: 为每一组匹配的元素添加或移除指定的样式类,而且所有改变的样式以动画的形式展示

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

    • removeClassNameType: String将要被从匹配的元素移除的class属性的一个或多个名称(以空格分开) 。
    • addClassNameType: String将要被添加到匹配的元素的class属性的一个或多个名称(以空格分开) 。
    • duration (default: 400)Type: Number or String一个字符串或者数字决定动画将运行多久。(译者注:默认值: "normal", 三种预定速度的字符串("slow", "normal", 或 "fast")或表示动画时长的毫秒数值(如:1000) )
    • easing (default: swing)Type: String一个字符串,表示过渡使用哪种缓动 函数。
    • completeType: Function()在动画完成时执行的函数。
  • .switchClass( removeClassName, addClassName [, options ] )

    • removeClassNameType: String将要被从匹配的元素移除的class属性的一个或多个名称(以空格分开) 。
    • addClassNameType: String将要被添加到匹配的元素的class属性的一个或多个名称(以空格分开) 。
    • optionsType: Object一组包含动画选项的值的集合。所有属性是可选择的。
      • duration (default: 400)Type: Number or String一个字符串或者数字决定动画将运行多久。(译者注:默认值: "normal", 三种预定速度的字符串("slow", "normal", 或 "fast")或表示动画时长的毫秒数值(如:1000) )
      • easing (default: swing)Type: String一个字符串,表示过渡使用哪种缓动 函数。
      • completeType: Function()在动画完成时执行的函数。
      • children (default: false)Type: Boolean动画是否应用到所有匹配的元素的后代元素。应慎使用此功能。 因为要确定哪些后代元素要应用动画可能会非常好性能,而且 后代元素的数量是线性增长的。
      • queue (default: true)Type: Boolean or String一个布尔值,指示是否将动画放置在效果队列中。如果为false时,将立即开始动画。 从jQuery1.7开始,队列选项也可以接受一个字符串,在这种情况下, 在动画被添加到由该字符串表示的队列中。

.switchClass()方法允许你在展现动画的同时添加或移除样式类。

类似原生CSS transitions(过渡), jQuery UI的样式动画提供了一个从一个状态到另一个状态平滑过渡, 同时让你 保持那些CSS样式改版的所有细节,和你的javaScript分离。 所有样式动画的方法,包括 .switchClass() 支持自定义的持续时间(durations)和缓冲函数(easing),以及在动画完成时提供一个回调。

并非所有的样式都可以设置动画。 例如,没有办法让背景图像应用动画。不能进行动画的样式,将在动画结束时被改变。

这个插件扩展了jQuery中的.switchClass()方法。 如果没有加载 jQuery UI,调用.switchClass()方法可能不会失败,因为方法仍然存在。 然而,预期的行为(愚人码头注:指平滑过渡动画效果)将不会发生。

Example:

向匹配的元素添加样式类"blue",并且移除样式类"big"。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>switchClass demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.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="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>

<div class="big"></div>

<script>
$( "div" ).click(function() {
  $( this ).switchClass( "big", "blue", 1000, "easeInOutQuad" );
});
</script>

</body>
</html>

最后更新:

类似资料

  • 所属类别 特效(Effects) | 特效核心(Effects Core) | 方法重载(Method Overrides) 用法 描述:当动画样式改变时,为匹配的元素集合内的每个元素添加和移除指定的 Class。 返回:jQuery.switchClass( removeClassName, addClassName [, duration ] [, easing ] [, complete ]

  • This VERY simple plugin provides functionality similar to jQuery's built in toggleClass() function, but instead of adding/removing a single class from an element, switchClass toggles between TWO class

相关阅读

开发工具

switchClass