D3.js - Переход

Переход - это процесс перехода элемента из одного состояния в другое. D3.js предоставляетtransition()метод для выполнения перехода на HTML-странице. Давайте узнаем о переходе в этой главе.

Метод transition ()

Метод transition () доступен для всех селекторов и запускает процесс перехода. Этот метод поддерживает большинство методов выбора, таких как - attr (), style () и т. Д. Но он не поддерживает методы append () и data (), которые необходимо вызывать перед методом transition (). Кроме того, он предоставляет методы, специфичные для перехода, такие как duration (), easy () и т. Д. Простой переход можно определить следующим образом:

d3.select("body")
   .transition()
   .style("background-color", "lightblue");

Переход можно создать напрямую с помощью метода d3.transition (), а затем использовать вместе с селекторами следующим образом.

var t = d3.transition()
   .duration(2000);
d3.select("body")
   .transition(t)
   .style("background-color", "lightblue");

Минимальный пример

Давайте теперь создадим базовый пример, чтобы понять, как работает переход.

Создайте новый файл HTML, transition_simple.html со следующим кодом.

<!DOCTYPE html>
<html>
   <head>
      <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
   </head>

   <body>
      <h3>Simple transitions</h3>
      <script>
         d3.select("body").transition().style("background-color", "lightblue");
      </script>
   </body>
</html>

Здесь мы выбрали bodyэлемент, а затем начал переход, вызвав метод transition (). Затем мы дали указание перенести цвет фона из текущего цвета,white к light blue.

Теперь обновите браузер, и на экране цвет фона изменится с белого на голубой. Если мы хотим изменить цвет фона с голубого на серый, мы можем использовать следующий переход -

d3.select("body").transition().style("background-color", "gray");