UNPKG

packery

Version:

Gapless, draggable grid layouts

190 lines (164 loc) 5.24 kB
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Packery basic examples</title> <link rel="stylesheet" href="css/examples.css" /> <link rel="stylesheet" href="css/basics.css" /> </head> <body> <h1>Packery basic examples</h1> <div id="ex1" class="container"> <div class="item w4"></div> <div class="item h4"></div> <div class="item w2"></div> <div class="item h4"></div> <div class="item"></div> <div class="item"></div> <div class="item h2"></div> <div class="item w4"></div> <div class="item w2"></div> <div class="item"></div> <div class="item"></div> <div class="item w2 h2"></div> <div class="item"></div> <div class="item"></div> <div class="item h4"></div> <div class="item"></div> <div class="item w4"></div> <div class="item"></div> <div class="item w2"></div> <div class="item"></div> <div class="item h2"></div> <div class="item"></div> <div class="item h2"></div> </div> <div id="ex2" class="container"> </div> <div id="ex3" class="container"> </div> <div id="ex4" class="container fluid has-padding"> <div class="item w4"></div> <div class="item h4"></div> <div class="item w2"></div> <div class="item h4"></div> <div class="item"></div> <div class="item"></div> <div class="item h2"></div> <div class="item w4"></div> <div class="item w2"></div> <div class="item"></div> <div class="item"></div> <div class="item w2 h2"></div> <div class="item"></div> <div class="item"></div> <div class="item h4"></div> <div class="item"></div> <div class="item w4"></div> <div class="item"></div> <div class="item w2"></div> <div class="item"></div> <div class="item h2"></div> <div class="item"></div> <div class="item h2"></div> </div> <div id="ex5" class="container fluid"> <div class="item w4"></div> <div class="item h4"></div> <div class="item w2"></div> <div class="item h4"></div> <div class="item"></div> <div class="item"></div> <div class="item h2"></div> <div class="item w4"></div> <div class="item w2"></div> <div class="item"></div> <div class="item"></div> <div class="item w2 h2"></div> <div class="item"></div> <div class="item"></div> <div class="item h4"></div> <div class="item"></div> <div class="item w4"></div> <div class="item"></div> <div class="item w2"></div> <div class="item"></div> <div class="item h2"></div> <div class="item"></div> <div class="item h2"></div> </div> <div id="ex6" class="container fluid has-padding"> <div class="bogey bogey1"></div> <div class="bogey bogey2"></div> </div> <div id="fit-demo" class="container"> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item w2"></div> <div class="item h2"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> </div> <script src="../bower_components/get-style-property/get-style-property.js"></script> <script src="../bower_components/get-size/get-size.js"></script> <script src="../bower_components/desandro-matches-selector/matches-selector.js"></script> <script src="../bower_components/ev-emitter/ev-emitter.js"></script> <script src="../bower_components/fizzy-ui-utils/utils.js"></script> <script src="../bower_components/outlayer/item.js"></script> <script src="../bower_components/outlayer/outlayer.js"></script> <script src="../js/rect.js"></script> <script src="../js/packer.js"></script> <script src="../js/item.js"></script> <script src="../js/packery.js"></script> <script src="examples.js"></script> <script> var ex1 = document.getElementById('ex1'); var packery1 = new Packery( ex1 ); var ex2 = document.getElementById('ex2'); appendRandomSizedItems( ex2 ); var packery2 = new Packery( ex2 ); var ex3 = document.getElementById('ex3'); appendRandomSizedItems( ex3 ); var packery3 = new Packery( ex3, { columnWidth: 50, rowHeight: 50 }); var ex4 = document.getElementById('ex4'); var packery4 = new Packery( ex4 ); var ex5 = document.getElementById('ex5'); var packery5 = new Packery( ex5 ); var ex6 = document.getElementById('ex6'); appendRandomSizedItems( ex6 ); var packery6 = new Packery( ex6, { itemSelector: '.item', stamp: ex6.querySelectorAll('.bogey') }); // ----- fit demo ----- // ( function() { var container = document.querySelector('#fit-demo'); var pckry = new Packery( container ); pckry.on( 'fitComplete', function( pckryInstance, item ) { console.log('fit was completed ', item ); }); container.addEventListener( 'click', function( event ) { // only care about item var elem = event.target; if ( !matchesSelector( elem, '.item' ) ) { return; } if ( !matchesSelector( elem, '.gigante') ) { elem.classList.add('gigante' ); pckry.fit( elem ); } else { elem.classList.remove('gigante' ); pckry.layout(); } }); })(); </script> </body> </html>