UNPKG

d3-jsnext

Version:
64 lines (50 loc) 1.24 kB
require( 'babel/register' ); <!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>