Built with blockbuilder.org
forked from trinary's block: fresh block
forked from anonymous's block: fresh block
Built with blockbuilder.org
forked from trinary's block: fresh block
forked from anonymous's block: fresh block
| <!DOCTYPE html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script> | |
| <style> | |
| body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } | |
| svg { width:100%; height: 100% } | |
| </style> | |
| </head> | |
| <body> | |
| <script> | |
| // Feel free to change or delete any of the code you see! | |
| var svg = d3.select("body").append("svg") | |
| var logoSize = 30; | |
| var gridSize = 20; | |
| var rowWidth = 200; | |
| var logoOffset = 20; | |
| sortedData = d3.range(40).map(function(d) { return {index: d}}); | |
| console.log(sortedData) | |
| var logos = svg.selectAll(".logo") | |
| .data(sortedData) | |
| .enter() | |
| .append("svg:image") | |
| .attr('width', logoSize) | |
| .attr('height', logoSize) | |
| .attr("x", function(d, i) { return ((i % rowWidth) * gridSize) + logoOffset/2; }) | |
| .attr("y", function(d, i) { return ((Math.floor(i / rowWidth)) * gridSize) + logoOffset/2; }) | |
| .attr("xlink:href", function (d) { | |
| return "http://logo.clearbit.com/" + d['domain']; | |
| }) | |
| .on("mouseover", function(d, i) { | |
| console.log(d); | |
| d3.select(this) | |
| .attr('width', gridSize) | |
| .attr('height', gridSize) | |
| .attr("x", ((i % rowWidth) * gridSize) - 250) | |
| .attr("y", 100) | |
| }); | |
| </script> | |
| </body> |