nick34992
3/6/2017 - 4:19 AM

D3byEX 7.5: Start and End Events (Adapted to D3.js v4)

D3byEX 7.5: Start and End Events (Adapted to D3.js v4)

<!DOCTYPE html>
<html>
    <meta charset=utf-8>
<head>
    <meta name="description" content="D3.js v4, rect transition event, start,
                                     end, size, color, location" />
</head>

<body>
    <script src="http://d3js.org/d3.v4.min.js"></script>
    <script src="https://d3js.org/d3-selection-multi.v1.min.js"></script>
    <script>
        var svg = d3.select('body')
                    .append('svg')
                    .attrs({ width: 500, height: 200 });
        svg.append('rect')
           .attrs({ x: 10, y: 10, width: 80, height: 80, fill: 'red' })
           .transition()
           .on('start', function () {  // transition event: start
               d3.select(this).attrs({ fill: 'green' });
           })
           .delay(1000)
           .duration(1500)
           .attrs({ x: 240, y: 80, width: 60, height: 60, fill: 'purple' })
           .transition()
           .duration(1500)
           .attrs({ width: 40, height: 40, x: 460, y: 10, fill: 'blue' })
           .on('end', function () {  // transition event: end
               d3.select(this).attrs({ fill: 'yellow' });
           });
    </script>
</body>
</html>