D3.js - API переходов
D3 Переходы берут набор элементов и для каждого элемента; он применяет переход к части текущего определения элемента.
Настройка API
Вы можете настроить API перехода, используя следующий скрипт.
<script src = "https://d3js.org/d3-color.v1.min.js"></script>
<script src = "https://d3js.org/d3-dispatch.v1.min.js"></script>
<script src = "https://d3js.org/d3-ease.v1.min.js"></script>
<script src = "https://d3js.org/d3-interpolate.v1.min.js"></script>
<script src = "https://d3js.org/d3-selection.v1.min.js"></script>
<script src = "https://d3js.org/d3-timer.v1.min.js"></script>
<script src = "https://d3js.org/d3-transition.v1.min.js"></script>
<script>
</script>
Методы API перехода
Давайте подробно рассмотрим методы API перехода.
Выбор элементов
Давайте подробно обсудим различные элементы выбора.
selection.transition([name])- Этот метод используется для возврата нового перехода выбора с именем. Если имя не указано, возвращается ноль.
selection.interrupt([name]) - Этот метод используется для прерывания выбранных элементов перехода с именем и определен ниже.
selection.interrupt().selectAll("*").interrupt();
d3.interrupt(node[, name]) - Этот метод используется для прерывания перехода указанного имени на указанный узел.
d3.transition([name]) - Этот метод используется для возврата нового перехода с указанным именем.
transition.select(selector) - Этот метод используется для выбора первого элемента, который соответствует указанному селектору, и возвращает переход к результирующему выбору, который определен ниже.
transition
.selection()
.select(selector)
.transition(transition)
transition.selectAll(selector)- Этот метод используется для выбора всех элементов, соответствующих указанному селектору, и возвращает переход к полученному выбору. Это определено ниже -
transition
.selection()
.selectAll(selector)
.transition(transition)
transition.filter(filter) - Этот метод используется для выбора элементов, соответствующих указанному фильтру, они определены ниже.
transition
.selection()
.filter(filter)
.transition(transition)
transition.merge(other)- Этот метод используется для объединения перехода с другим переходом. Это определено ниже.
transition
.selection()
.merge(other.selection())
.transition(transition)
transition.transition()- Этот метод используется для возврата нового перехода для выбранных элементов. Его запуск запланирован на момент остановки перехода. Новый переход наследует название, продолжительность и динамику этого перехода.
Example - Рассмотрим следующий пример.
d3.selectAll(".body")
.transition()
// fade to yellow.
.style("fill", "yellow")
.transition()
// Wait for five second. Then change blue, and remove.
.delay(5000)
.style("fill", "blue")
.remove();
Здесь тело становится желтым и начинается всего за пять секунд до последнего перехода.
d3.active(node[, name]) - Этот метод используется для возврата перехода на указанном узле с именем.
Методы синхронизации
Давайте подробно рассмотрим методы API времени перехода.
transition.delay([value])- Этот метод используется для установки задержки перехода на указанное значение. Если функция оценивается для каждого выбранного элемента, она передается в текущую базу данных «d» и индекс «i» с контекстом в качестве текущего элемента DOM. Если значение не указано, возвращает текущее значение задержки для первого (ненулевого) элемента в переходе. Это определено ниже,
transition.delay(function(d, i) { return i * 10; });
transition.duration([value])- Этот метод используется для установки длительности перехода на указанное значение. Если значение не указано, возвращает текущее значение продолжительности для первого (ненулевого) элемента в переходе.
transition.ease([value])- Этот метод используется для облегчения значения перехода для выбранных элементов. Функция замедления вызывается для каждого кадра анимации и передает нормализованное время «t» в диапазоне [0, 1]. Если значение не указано, оно возвращает текущую функцию замедления для первого (ненулевого) элемента перехода.
В следующей главе мы обсудим концепцию перетаскивания в d3.js.