Đối với mỗi mục dữ liệu, tôi thêm một nhóm (g class = "parent") với một vòng tròn trong đó. Thêm chúng và thiết lập các thuộc tính của chúng hoạt động tốt.D3.js - Lối thoát hoạt hình cho đối tượng lồng nhau
Nhưng tôi không thể tìm ra cách xử lý việc xóa. Cách để animate một đối tượng lồng nhau khi thoát là gì?
// parents
var parents = svg.selectAll("parent").data(glyphs);
parents.enter()
.append("g")
.attr("class", "parent")
.attr("transform", function (glyph) {
return "translate(" + glyph.x + "," + glyph.y + ")";
});
// children
var circles = parents.append("circle");
circles
.attr("r", 0)
.attr("fill", function (glyph) { return glyph.color; });
// animated entry
circles.transition()
.attr("r", function (glyph) { return glyph.radius; });
Đây là phần không hoạt động. Tôi không chắc chắn làm thế nào để animate các trẻ em trên lối ra.
// animate exit
circles
.exit() // <-- not valid
.transition()
.duration(250)
.attr("r", 0);
parents
.exit()
.transition()
.delay(250)
.remove();
Có ai có thể đưa ra một số mẹo hoặc chỉ cho tôi một ví dụ hay không?
thay vì vòng tròn .exit(), thử chuyển đổi trên parent.exit(). –
Ok tôi thấy bạn đã làm điều đó. Bạn có thể thử parent.selectAll ('g'). Transition(). Duration() ... remove() Nhưng làm điều đó trước khi bạn loại bỏ các bậc cha mẹ. –