Я успешно внедрил некоторый код от this D3 example of animated line drawing, но я не мудрее, как это работает. Я был бы очень признателен за линейное разбиение того, как работает код. Я относительно новичок в D3; Я понимаю основы DOM-манипуляции с библиотекой, но я считаю, что для этого требуется промежуточный уровень понимания, которого мне не хватает.Объяснение чертежа анимированной линии D3 требуется
Я включил ниже конкретную часть примера, которую я переработал. Я подозреваю, что умная часть связана в частях .attr("stroke-dashoffset", 0);
& .attr("stroke-dashoffset", totalLength);
, поэтому ясное объяснение того, как эти работы и как они способствуют эффекту, будут очень оценены.
var totalLength = path.node().getTotalLength();
path
.attr("stroke-dasharray", totalLength + " " + totalLength)
.attr("stroke-dashoffset", totalLength)
.transition()
.duration(2000)
.ease("linear")
.attr("stroke-dashoffset", 0);
svg.on("click", function(){
path
.transition()
.duration(2000)
.ease("linear")
.attr("stroke-dashoffset", totalLength);
})
Большое спасибо заранее
как вы решить эту проблему? – fuxes
Концепция объясняется хорошо визуально в этом сообщении трюков CSS: https://css-tricks.com/svg-line-animation-works/ У меня нет реализации D3, но вот реализация с использованием HTML5 холст https://stackoverflow.com/questions/25442709/draw-html5-javascript-canvas-path-in-time/25446101#25446101 – Jeshua