官术网_书友最值得收藏!

Removing elements which aren't needed anymore

The final step we need to take is to remove rectangles that aren't needed anymore. If in the first call to update we add five rectangles, and in the next call only three are needed, we're stuck with two leftover ones. D3 also has an elegant mechanism to deal with that:

rectangles.exit().remove();

The call to exit() will select the elements for which no data is available. We can then do anything we want with those rectangles. In this case, we just remove them by calling remove(), but we could also change their opacity to make them look transparent, or animate them to slowly disappear.

For instance, if we replace the previous line of code with this:

rectangles.exit().attr("class", "remove");

Then set the CSS for the remove class to this:

.remove { 
fill: red;
opacity: 0.2;
}

In that case, we'd see the following:

In the preceding screenshot, we've reused two existing rectangles, and instead of removing the five we don't need, we change their style to the remove class, which renders them semi-transparent red.

主站蜘蛛池模板: 宣武区| 永仁县| 旬邑县| 嘉黎县| 巴楚县| 峨山| 定安县| 布尔津县| 姚安县| 永宁县| 芦溪县| 砀山县| 谷城县| 永登县| 大同县| 台湾省| 景宁| 钟祥市| 玛多县| 平乐县| 屯留县| 盐边县| 淮南市| 盐津县| 都江堰市| 焦作市| 泊头市| 恩平市| 温宿县| 沁水县| 吴江市| 镇康县| 绥江县| 华池县| 虎林市| 沈丘县| 封开县| 都安| 英超| 施甸县| 佛教|