72 строки
1.3 KiB
HTML
72 строки
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>Hello, data!</title>
|
|
<style>
|
|
|
|
body,
|
|
td {
|
|
font: 14px Helvetica Neue;
|
|
text-rendering: optimizeLegibility;
|
|
margin: 1em;
|
|
}
|
|
|
|
table {
|
|
border-collapse: collapse;
|
|
margin-top: .5em;
|
|
}
|
|
|
|
td {
|
|
border: solid 1px #fff;
|
|
text-align: center;
|
|
width: 30px;
|
|
height: 30px;
|
|
}
|
|
|
|
</style>
|
|
Your lucky numbers are:<br>
|
|
<table id="table"></table>
|
|
<script src="../../d3.js"></script>
|
|
<script>
|
|
|
|
var data = [];
|
|
|
|
for (var i = 0; i < 10; i++) {
|
|
for (var j = 0, a = []; j < 10; j++) {
|
|
a.push(~~(Math.random() * 100));
|
|
}
|
|
data.push(a);
|
|
}
|
|
|
|
d3.select(window).on("keypress", refresh);
|
|
|
|
transform();
|
|
|
|
function transform() {
|
|
var t = d3.select("#table")
|
|
.selectAll("tr")
|
|
.data(data);
|
|
|
|
t.enter().append("tr")
|
|
.selectAll("td")
|
|
.data(function(d) { return d; })
|
|
.enter().append("td")
|
|
.style("background-color", function(d) { return "hsl(" + d + ",100%,50%)"; })
|
|
.text(function(d) { return d; });
|
|
|
|
t.selectAll("td")
|
|
.data(function(d) { return d; })
|
|
.style("background-color", function(d) { return "hsl(" + d + ",100%,50%)"; })
|
|
.text(function(d) { return d; });
|
|
}
|
|
|
|
function refresh() {
|
|
for (var i = 0; i < 10; i++) {
|
|
for (var j = 0; j < 10; j++) {
|
|
data[i][j] = (data[i][j] + 1) % 360;
|
|
}
|
|
}
|
|
transform();
|
|
}
|
|
|
|
</script>
|