<!DOCTYPE html> <meta charset=“utf-8”> <meta name=“viewport” content=“initial-scale=1,maximum-scale=1”/> <style>
html, body {
height: 100%;
}
body {
margin: 0;
}
svg {
display: block; overflow: hidden; width: 100%; height: 100%;
}
</style> <body> <script src=“../../d3.js”></script> <script>
var color = d3.scale.category10();
var svg = d3.select(“body”).append(“svg”);
d3.select(“body”)
.on("touchstart", touch) .on("touchmove", touch) .on("touchend", touch);
function touch() {
d3.event.preventDefault(); var circle = svg.selectAll("circle.touch") .data(d3.touches(svg.node()), function(d) { return d.identifier; }) .attr("cx", function(d) { return d[0]; }) .attr("cy", function(d) { return d[1]; }); circle.enter().append("circle") .attr("class", "touch") .attr("cx", function(d) { return d[0]; }) .attr("cy", function(d) { return d[1]; }) .style("fill", function(d) { return color(d.identifier); }) .attr("r", 1e-6) .transition() .duration(500) .ease("elastic") .attr("r", 48); circle.exit() .attr("class", null) .transition() .attr("r", 1e-6) .remove();
}
</script>