我想在each()的每次迭代中更新消息计数
元素。我怎样才能做到这一点?我已经放置了一个在每次迭代时递增的计数器。但它不起作用。
cityMarkerCanvas.each(function(d,ienter code here) {
var count=1;
var self = this;
var cb = function(){
$( "#inner1" ).append( "<p>Current tweet count:"+count+"</p>" );
var coords = projection([d.Lat, d.Long]);
d3.select(self)
.attr("cx", function(d) {
return coords[0];
})
.attr("cy", function(d) {
return coords[1];
})
.transition()
.attr("r", 3)
.attr("opacity", 1.0)
.duration(1000);
//console.log(i);
count++;
}
setTimeout(cb, 200*i);
})
答案 0 :(得分:0)
您需要在每个循环之前初始化count
,
var count=1;
cityMarkerCanvas.each(function(d,i) {
var self = this;
var cb = function(){
$( "#inner1" ).append( "<p>Current tweet count:"+(count++)+"</p>" );
var coords = projection([d.Lat, d.Long]);
d3.select(self)
.attr("cx", function(d) {
return coords[0];
})
.attr("cy", function(d) {
return coords[1];
})
.transition()
.attr("r", 3)
.attr("opacity", 1.0)
.duration(1000);
}
setTimeout(cb, 200*i);
});
您可以使用(i+1)
代替(count++)
而不使用count
变量。