在Velocity.js

时间:2015-07-12 20:07:00

标签: javascript jquery svg jquery-animate velocity.js

我刚刚开始使用Velocity.js,我正在尝试制作一个简单的动画,我将圆圈的颜色从红色变为黄色。我的HTML只是......

<!DOCTYPE html>
<html>
<head>
  <link href="https://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
  <script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
  <script src="//cdn.jsdelivr.net/velocity/1.2.2/velocity.min.js"></script>
  <script src="//cdn.jsdelivr.net/velocity/1.2.2/velocity.ui.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
  <svg height=300 width=300>
    <circle id="example" cx=50 cy=50 r=20 fill="red"></circle>
  </svg>
</body>
</html>

...我试图在我的JavaScript中将圆圈的颜色更改为黄色:

$('#example')
   .delay(1000)
   .velocity({fill: "yellow"});

我做错了什么?

2 个答案:

答案 0 :(得分:4)

根据 velocity.js docs ,您需要将填充颜色值作为十六进制字符串传递:

<强> 段:

&#13;
&#13;
$('#example').delay(1000).velocity({ fill: '#ffff00' }, { duration: 2000 });
&#13;
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.ui.min.js"></script>
<svg height=300 width=300>
    <circle id="example" cx=50 cy=50 r=20 fill="red"></circle>
</svg>
&#13;
&#13;
&#13;

希望这有帮助。

P.S。您正在尝试加载多个jQuery版本,即1.8.31.9.1。删除不必要的一个。

答案 1 :(得分:0)

您可以使用backgroundColor与Fill完成。

  var colorCode = "#D32D27"
    $("#ColorDIV").velocity({ 
          backgroundColor: colorCode,
          opacity: 1
    }, 1000);           

    colorCode = "#FFDD00"
    $("#ColorDIV").velocity({ 
          backgroundColor: colorCode,
          opacity: 1
    }, 1000);