Files
svelte-carousel/src/components/Carousel/stories/CarouselViewMethods.svelte
2021-06-29 11:19:08 +03:00

73 lines
1.5 KiB
Svelte

<script>
import {onMount} from 'svelte'
import Carousel from '../Carousel.svelte'
const colors = [
{ color: '#e5f9f0', text: '0' },
{ color: '#ccf3e2', text: '1' },
{ color: '#b2edd3', text: '2' },
{ color: '#99e7c5', text: '3' },
{ color: '#7fe1b7', text: '4' },
{ color: '#66dba8', text: '5' },
{ color: '#4cd59a', text: '6' },
{ color: '#32cf8b', text: '7' },
{ color: '#19c97d', text: '8' },
{ color: '#00c36f', text: '9' }
]
let carousel;
let pageIndex
function handlePageChange(e) {
pageIndex = e.target.value
}
function handlePageChangeClick() {
carousel.goTo(pageIndex)
}
</script>
<div class="main-container">
<Carousel
bind:this={carousel}
>
{#each colors as { color, text } (color)}
<div
class="color-container"
style="background-color: {color};"
>
<p>{text}</p>
</div>
{/each}
</Carousel>
<input type="number" on:change={handlePageChange} />
<button class="button" on:click={handlePageChangeClick}>Go to</button>
</div>
<style>
.main-container {
display: flex;
flex-direction: column;
width: 100%;
}
.color-container {
height: 100px;
display: flex;
align-items: center;
justify-content: center;
user-select: none;
}
.color-container > p {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-style: italic;
font-size: 18px;
}
input {
width: 200px;
height: 30px;
}
.button {
width: 200px;
height: 30px;
}
</style>