#javascript #d3.js
#javascript #d3.js
Вопрос:
Я пытаюсь прослушать конец события перехода в каждом из моих кругов:
var n=0;
//drawing the plot
var circles = svg.selectAll("circle")
.data(dataset)
.enter()
.append("circle")
.attr("cx", function(d, i){return xScale(max-createDate(dataset[dataset.length-1-i]["Time"]));})
.attr("cy", -100)
.attr("r", 5)
.attr("fill", function(d){return d["Doping"]?"#ff1d25":"#009267";})
.each(function() { n ; console.log(n)})
.transition()
.delay(function(d,i){return i*50})
.duration(1500)
.attr("cy", function(d){return yScale(d["Place"]);})
.each('end', function() {
n--;
if (!n) {
console.log("end")
}
})
Но «end» никогда не печатается! Что я делаю не так?
Полный код здесь
Комментарии:
1. вы видели ошибку в консоли инструментов разработчика вашего браузера?
2. @JaromandaX нет сообщений об ошибках =/
3. тогда вы не используете консоль инструментов разработчика вашего браузера… firefox говорит
TypeError: t.call is not a function
— проблема в том, что ваш последний. каждый недопустим4. это должно быть
.on('end', ...
вместо.each('end', ...
5. Я поражен этим другим вопросом — возможно
.each
, работал по-другому 4 года назад! просто проверил, и произошли некоторые изменения — github.com/d3/d3/blob/master /…