mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-04-23 06:11:52 +02:00
103 lines
2.7 KiB
HTML
103 lines
2.7 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
|
||
|
<title>add/remove</title>
|
||
|
|
||
|
<link rel="stylesheet" href="css/examples.css" />
|
||
|
<link rel="stylesheet" href="css/basics.css" />
|
||
|
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<h1>add/remove</h1>
|
||
|
|
||
|
<p>
|
||
|
<button id="append">Append items</button>
|
||
|
<button id="prepend">Prepend items</button>
|
||
|
</p>
|
||
|
|
||
|
<div class="container">
|
||
|
<div class="item w2"></div>
|
||
|
<div class="item h4"></div>
|
||
|
<div class="item w2"></div>
|
||
|
<div class="item h4"></div>
|
||
|
<div class="item"></div>
|
||
|
<div class="item h2"></div>
|
||
|
<div class="item w4"></div>
|
||
|
<div class="item w4"></div>
|
||
|
<div class="item w4"></div>
|
||
|
</div>
|
||
|
|
||
|
<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>
|
||
|
|
||
|
function getItemFragment() {
|
||
|
var fragment = document.createDocumentFragment();
|
||
|
var items = [];
|
||
|
|
||
|
for ( var i=0; i < 3; i++ ) {
|
||
|
var item = document.createElement('div');
|
||
|
var wRand = Math.random();
|
||
|
var widthClass = wRand > 0.85 ? 'w4' :
|
||
|
wRand > 0.7 ? 'w2' : '';
|
||
|
var hRand = Math.random();
|
||
|
var heightClass = hRand > 0.85 ? 'h4' :
|
||
|
hRand > 0.7 ? 'h2' : '';
|
||
|
item.className = 'item ' + widthClass + ' ' + heightClass;
|
||
|
fragment.appendChild( item );
|
||
|
items.push( item )
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
items: items,
|
||
|
fragment: fragment
|
||
|
};
|
||
|
}
|
||
|
|
||
|
var container = document.querySelector('.container');
|
||
|
var pckry = window.packery7 = new Packery( container );
|
||
|
|
||
|
var appendButton = document.querySelector('#append');
|
||
|
|
||
|
appendButton.addEventListener( 'click', function( event ) {
|
||
|
var itemFrag = getItemFragment();
|
||
|
container.appendChild( itemFrag.fragment );
|
||
|
pckry.appended( itemFrag.items );
|
||
|
});
|
||
|
|
||
|
var prependButton = document.querySelector('#prepend');
|
||
|
|
||
|
prependButton.addEventListener( 'click', function( event ) {
|
||
|
var itemFrag = getItemFragment();
|
||
|
container.insertBefore( itemFrag.fragment, container.firstChild );
|
||
|
pckry.prepended( itemFrag.items );
|
||
|
});
|
||
|
|
||
|
container.addEventListener( 'click', function( event ) {
|
||
|
var elem = event.target;
|
||
|
if ( !matchesSelector( elem, '.item' ) ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
pckry.remove( elem );
|
||
|
pckry.layout();
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
|
||
|
</body>
|
||
|
</html>
|