d3js: как переключать класс css после нажатия на элемент

У меня есть тепловая карта, построенная в точности как в этом примере с d3js http://bl.ocks.org/tjdecke/5558084.

Как мне изменить код таким образом, чтобы при нажатии на квадрат он включал / выключал определенный класс CSS для этого квадрата?

1 ответ

Решение

Все очень просто - измените код следующим образом:

var heatMap = svg.selectAll(".hour")
          .data(data)
          .enter().append("rect")
          .attr("x", function(d) { return (d.hour - 1) * gridSize; })
          .attr("y", function(d) { return (d.day - 1) * gridSize; })
          .attr("rx", 4)
          .attr("ry", 4)
          .attr("class", "hour bordered")
          .attr("width", gridSize)
          .attr("height", gridSize)
          .style("fill", colors[0])
          .on("click", function() {
            d3.select(this).classed("myCssClass", d3.select(this).classed("myCssClass") ? false : true);
          });
Другие вопросы по тегам