JSFiddle - React, Tailwind, and code Playground
by robgallen
HTML
<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!--
Bootstrap docs: https://getbootstrap.com/docs
-->
<div id="content" class="container">
</div>
CSS
.row {
background: #f8f9fa;
margin: 5px;
}
.col {
border: solid 1px #6c757d;
padding: 10px;
}
JavaScript
// generate a pseudo-random list with numbers, to pretend to be a list of images
var imageList = [];
var len = 100;
while (len--) {
var rnd = Math.random().toString(36).substr(2, 5);
imageList.push(rnd);
}
// pick 16 'images' from the list
var picklist = [], len = 16;
while (len--) {
var x = Math.floor(Math.random() * Math.floor(imageList.length));
picklist.push(imageList[x]);
}
// display in 4x4 grid
var grid = '', len = picklist.length;
for(var i = 0; i < len; i++) {
// start of new block of 4
if (i % 4 === 0) {
grid += '<div class="row">';
}
grid += '<div class="col">';
grid += picklist[i];
grid += '</div>'; // e/o div.col
// end of new block of 4
if (i % 4 === 3) {
grid += '</div>'; // e/o div.row
}
}
// there are a million better ways to bind html to data, but...
$('#content').html(grid);