有没有一种" Wobble"在d3中有效吗?

时间:2017-01-06 15:38:56

标签: d3.js

我正在寻找D3.js的特效。 例如,如果你点击一个按钮,就会出现一种"摆动"效果开始所以摇动点击按钮。 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

听起来你真的想要来自jquery-ui的like thisd3并没有像这样提供罐装“效果”。

但是,当然,通过一些努力,您可以在d3中编写代码:

<!DOCTYPE html>
<html>

<head>
  <script data-require="d3@4.0.0" data-semver="4.0.0" src="https://d3js.org/d3.v4.min.js"></script>
</head>

<body>
  <button>This is a button</button>
  <script>
    var button = d3.select('button');

    button
      .style('position', 'absolute')
      .on("click", function() {
        var shakeTimes = 5;
        button.transition()
          .duration(100)
          .on("start", function repeat() {
            if (shakeTimes-- < 0) return;
            d3.active(this)
              .style("left", "50px")
              .transition()
              .style("left", "0px")
              .transition()
              .on("start", repeat);
          });
      });
  </script>
</body>

</html>