jQuery UI 实例 – 颜色动画(Color Animation)

jQuery UI 颜色动画(Color Animation)实例

jQuery UI 自带颜色动画支持,无需额外插件。你可以使用 .animate() 方法平滑过渡颜色属性(如 backgroundColorcolorborderColor 等),常用于高亮提示、状态反馈、按钮hover、主题切换等场景。

官方文档:https://jqueryui.com/animate/(颜色动画是内置的)

下面提供几个渐进实例,从基础到高级,代码使用最新 CDN,可直接复制到 HTML 文件测试。

1. 基础背景颜色动画

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jQuery UI Color Animation 基础示例</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="//code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
  <style>
    #box { width: 200px; height: 150px; background: #3498db; color: white; text-align: center; line-height: 150px; margin: 30px; font-size: 1.2em; }
  </style>
</head>
<body>
  <button id="animate">点击改变背景颜色</button>
  <div id="box">背景颜色动画</div>

  <script>
    $(function() {
      $("#animate").click(function() {
        $("#box").animate({
          backgroundColor: "#e74c3c"  // 从蓝色渐变到红色
        }, 1500);
      });
    });
  </script>
</body>
</html>

2. 多属性颜色动画(背景 + 文字 + 边框)

<button id="multi">多颜色动画</button>

<script>
  $("#multi").click(function() {
    $("#box").animate({
      backgroundColor: "#2ecc71",  // 绿色背景
      color: "#ffffff",            // 白色文字
      borderColor: "#27ae60"       // 绿色边框
    }, {
      duration: 2000,
      easing: "easeInOutQuad"      // 缓动效果
    });
  });
</script>

<style>
  #box { border: 5px solid #2980b9; }
</style>

3. 循环颜色动画(闪烁高亮)

常用于吸引注意力或错误提示。

<button id="flash">闪烁高亮</button>

<script>
  $("#flash").click(function() {
    function flash() {
      $("#box").animate({ backgroundColor: "#f1c40f" }, 500)
               .animate({ backgroundColor: "#3498db" }, 500, flash);  // 递归循环
    }
    flash();
  });
</script>

4. 结合类切换的颜色动画(addClass/switchClass)

颜色变化更平滑。

<style>
  .highlight {
    backgroundColor: "#9b59b6";
    color: "#ecf0f1";
    borderColor: "#8e44ad";
  }
</style>

<button id="classAnim">类切换颜色动画</button>

<script>
  $("#classAnim").click(function() {
    $("#box").switchClass("normal", "highlight", 1500);  // 平滑切换类中的颜色
  });
</script>

支持的颜色属性

  • backgroundColor
  • color
  • borderTopColorborderRightColorborderBottomColorborderLeftColor(或简写 borderColor
  • outlineColor

小技巧

  • 支持十六进制、RGB、RGBA、颜色名称(如 “red”)。
  • 队列动画:多个 .animate() 会自动排队,形成连续效果。
  • 停止动画:$("#box").stop();
  • 颜色动画是 jQuery UI 独有(jQuery Core 不支持颜色过渡)。

颜色动画能让页面反馈更生动,常用于表单验证、按钮点击、通知高亮等。如果你需要 表单错误高亮动画主题切换(明暗模式),或 RGB 颜色选择器联动 的完整示例,请告诉我!

文章已创建 3350

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部