Transition.each(«end») никогда не вызывался

#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 /…