flickity-as-nav-for
Version:
Enable asNavFor for Flickity
112 lines (92 loc) • 3.15 kB
HTML
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>asNavFor + wrapAround</title>
<link rel="stylesheet" href="../node_modules/flickity/css/flickity.css" />
<style>
body {
min-height: 1000px;
}
.carousel {
border: 1px solid;
margin-bottom: 40px;
}
.cell {
height: 200px;
width: 66%;
margin: 0 5px;
background: #CCC;
}
.cell:nth-child(6n) { background: hsl(0, 80%, 70%); }
.cell:nth-child(6n+1) { background: hsl(60, 80%, 70%); }
.cell:nth-child(6n+2) { background: hsl(120, 80%, 70%); }
.cell:nth-child(6n+3) { background: hsl(180, 80%, 70%); }
.cell:nth-child(6n+4) { background: hsl(240, 80%, 70%); }
.cell:nth-child(6n+5) { background: hsl(300, 80%, 70%); }
.cell.is-selected {
outline: 10px solid hsla(0, 0%, 0%, 0.2);
outline-offset: -10px;
}
.cell.is-nav-selected {
outline: 10px solid hsla(0, 0%, 100%, 0.6);
outline-offset: -10px;
}
#carousel-b .cell {
width: 80px;
height: 80px;
}
</style>
</head>
<body>
<code class="output">0</code>
<div id="carousel-a" class="carousel" data-flickity='{ "wrapAround": false }'>
<div class="cell">1</div>
<div class="cell">2</div>
<div class="cell">3</div>
<div class="cell">4</div>
<div class="cell">5</div>
<div class="cell">6</div>
<div class="cell">7</div>
<div class="cell">8</div>
<div class="cell">9</div>
</div>
<div id="carousel-b" class="carousel"
data-flickity='{ "asNavFor": "#carousel-a", "wrapAround": true }'>
<div class="cell">1</div>
<div class="cell">2</div>
<div class="cell">3</div>
<div class="cell">4</div>
<div class="cell">5</div>
<div class="cell">6</div>
<div class="cell">7</div>
<div class="cell">8</div>
<div class="cell">9</div>
</div>
<script src="../node_modules/get-size/get-size.js"></script>
<script src="../node_modules/ev-emitter/ev-emitter.js"></script>
<script src="../node_modules/unidragger/unidragger.js"></script>
<script src="../node_modules/fizzy-ui-utils/utils.js"></script>
<script src="../node_modules/flickity/js/cell.js"></script>
<script src="../node_modules/flickity/js/slide.js"></script>
<script src="../node_modules/flickity/js/animate.js"></script>
<script src="../node_modules/flickity/js/core.js"></script>
<script src="../node_modules/flickity/js/drag.js"></script>
<script src="../node_modules/flickity/js/prev-next-button.js"></script>
<script src="../node_modules/flickity/js/page-dots.js"></script>
<script src="../node_modules/flickity/js/player.js"></script>
<script src="../node_modules/flickity/js/add-remove-cell.js"></script>
<script src="../as-nav-for.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
let output = document.querySelector('.output');
let navFlkty = Flickity.data('#carousel-b');
navFlkty.on( 'staticClick', function( event, pointer, cellElem, index ) {
console.log( event.type )
// output.textContent = index + ', ' + Math.round( Date.now() / 1000 )
});
});
</script>
</body>
</html>