Chroniton

by ramnathv

HTML

<script src="//d3js.org/d3.v3.min.js"></script>
<script src="//rawgit.com/tmcw/chroniton/gh-pages/chroniton-only.js"></script>

CSS

.chroniton {
  font: 10px sans-serif;
  outline:none;
}
.chroniton .play-button {
  fill:#444;
}
.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}
.x.axis, .slider text {
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
}
.x.axis path.domain {
  stroke-width:10;
  stroke-linecap:round;
  stroke:#ddd;
}
.x.axis path.halo {
  stroke-width:12;
  stroke-linecap:round;
  stroke:#ccc;
}
.tick line {
  stroke:#d0d0d0;
  stroke-width:1;
  transform:translate(0px, -5px);
}
.slider .handle {
  fill: #fff;
  stroke-width:1;
  stroke:#333;
}
.slider .handle, .slider text {
  cursor: move;
  cursor: -webkit-grab;
  transition:fill 200ms ease-in-out;
}
.handle:active, .slider text:active {
  cursor: move;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
}
.slider.brushing .handle {
  fill: #eee;
}
.label {
  font:bold 12px sans-serif;
}

JavaScript

var myslider =  chroniton()
      .domain([new Date(+new Date() - 60 * 1000), new Date()])
      .keybindings(true)
      .width(350)
      .playButton(true)

d3.select(document.body)
  .append('div')
  .style("width", "100%")
  .call(myslider)