Skip to content

Instantly share code, notes, and snippets.

@valex
Created November 6, 2017 14:40
Show Gist options
  • Save valex/0b285a1c4cd5a8c75c2f27aad74c0816 to your computer and use it in GitHub Desktop.
Save valex/0b285a1c4cd5a8c75c2f27aad74c0816 to your computer and use it in GitHub Desktop.
Handling the start and end events of transitions, d3.js version 4
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</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 () {
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 () {
d3.select(this).attrs({ fill: 'yellow' });
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment