UNPKG

magic-grid

Version:

Super lightweight javascript library for dynamic grid layouts.

95 lines (80 loc) 2.45 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Magic Grid</title> <style> .container div { width: 280px; height: 500px; background-color: antiquewhite; display: flex; justify-content: center; align-items: center; border-radius: 8px; } .container .item1 { height: 200px; } .container .item4 { height: 800px; } .container .item6 { height: 600px; } .container .item11 { height: 400px; } </style> </head> <body> <div class="container"> <div class="item1">1</div> <div class="item2">2</div> <div class="item3">3</div> <div class="item4">4</div> <div class="item5">5</div> <div class="item6">6</div> <div class="item7">7</div> <div class="item8">8</div> <div class="item9">9</div> <div class="item10">10</div> <div class="item11">11</div> <div class="item12">12</div> <div class="item13">13</div> </div> <div> <button onclick="addItems()">Add Items</button> <button onclick="removeItems()">Remove Items</button> </div> <script src="../dist/magic-grid.min.js"></script> <script src="./modify-items.js"></script> <script> const magicGrid = new MagicGrid({ container: '.container', animate: true, gutter: 30, static: true, useMin: true }); /* -- (lazy) TESTING -- */ let ids = []; let id; //Add listeners to magic grid for(let i = 0; i < 5; i++){ id = magicGrid.onPositionComplete(() => { console.log("Grid Has Been Resized"); }); ids.push(id); } console.log("IDs of listeners: ", ids); //Wait to check that the event listeners are working and then remove them setTimeout(() => { console.log('Removing listeners...'); for(let i of ids){ magicGrid.removeListener(i); console.log("Listeners left ", magicGrid.listeners.length); } //randomly pick an id to try and remove it id = Math.floor(Math.random() * ids.length); let isRemoved = magicGrid.removeListener(id); console.log(`Tried removing listener ${id}:`, isRemoved); console.log("Listeners left ", magicGrid.listeners.length); }, 5000); magicGrid.listen(); window.addItems = addItems; window.removeItems = removeItems; </script> </body> </html>