当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。