score:1

Accepted answer

You're using two different types of strings to specify the colours (with and without #). D3 doesn't know how to interpolate between those different types. Works if you use the same:

.style('fill', '#BFDEFF')
.on('mouseover', function () {
    d3.select(this).transition().style('fill', '#2B24FF');
})
.on('mouseout', function () {
    d3.select(this).transition().style('fill', '#BFDEFF');
});

Complete example here.


Related Query

More Query from same tag