vue-carousel-3d
Version:
Beautiful, flexible and touch supported 3D Carousel for Vue.js
301 lines (262 loc) • 12.8 kB
HTML
<html lang="en">
<head><meta name="generator" content="Hexo 3.9.0">
<title>Playground - Vue Carousel 3D - 3D Carousel for Vue.js</title>
<meta charset="utf-8">
<meta name="description" content="Vue Carousel 3D - Beautiful, flexible and touch supported 3D Carousel for Vue.js">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta property="og:type" content="article">
<meta property="og:title" content="Playground - Vue Carousel 3D">
<meta property="og:description" content="Vue Carousel 3D - Beautiful, flexible and touch supported 3D Carousel for Vue.js">
<meta property="og:image" content="https:///images/logo.png">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Playground - Vue Carousel 3D">
<meta name="twitter:description" content="Vue Carousel 3D - Beautiful, flexible and touch supported 3D Carousel for Vue.js">
<meta name="twitter:image" content="https:///images/logo.png">
<meta name="google-site-verification" content="j7k2Vin9D3fJKlxZqkcEQK-o4eH3yJbJHwi3u2-KHwQ">
<link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600|Roboto Mono" rel="stylesheet" type="text/css">
<link href="//fonts.googleapis.com/css?family=Dosis:500&text=Vue.js" rel="stylesheet" type="text/css">
<!-- main page styles -->
<link rel="stylesheet" href="/vue-carousel-3d/css/page.css">
<!-- this needs to be loaded before guide's inline scripts -->
<script src="/vue-carousel-3d/js/vue.js"></script>
<script src="/vue-carousel-3d/js/carousel-3d.umd.js"></script>
<script>window.PAGE_TYPE = ""</script>
</head>
<body class="docs"> <div id="mobile-bar">
<a class="menu-button"></a>
<a class="logo" href="/vue-carousel-3d/"></a>
</div>
<div id="header">
<a id="logo" href="/vue-carousel-3d/">
<img src="/vue-carousel-3d/images/logo.png" alt="Vue Carousel 3D">
<span>Vue Carousel 3D</span>
</a>
<ul id="nav">
<li><a href="/vue-carousel-3d/guide" class="nav-link">Guide</a></li>
<li><a href="/vue-carousel-3d/api" class="nav-link">API</a></li>
<li><a href="/vue-carousel-3d/examples" class="nav-link">Examples</a></li>
<li><a href="/vue-carousel-3d/playground" class="nav-link current">Playground</a></li>
</ul>
</div>
<div id="main" class="fix-sidebar">
<div class="sidebar">
<ul class="main-menu">
<li><a href="/vue-carousel-3d/guide" class="nav-link">Guide</a></li>
<li><a href="/vue-carousel-3d/api" class="nav-link">API</a></li>
<li><a href="/vue-carousel-3d/examples" class="nav-link">Examples</a></li>
<li><a href="/vue-carousel-3d/playground" class="nav-link current">Playground</a></li>
</ul>
</div>
<div class="content ">
<h1>Playground</h1>
<div id="playground-example">
<carousel-3d :count="slides.length" :controls-visible="carouselControls" :width="slideWidth" :height="slideHeight" :autoplay="autoplayEnabled" :disable3d="disable3d" :space="slideSpace" :perspective="slidePerspective" :display="visible" :loop="infinite" :animation-speed="animationSpeed" :dir="direction" :border="slideBorder" :start-index="startIndex" :inverse-scaling="slideScaling">
<slide v-for="(slide, i) in slides" :index="i" :key="i">
<img :src="slide.src">
</slide>
</carousel-3d>
<hr class="sep">
<div class="row">
<div class="col-1-2">
<div class="form-input">
<label for="spaceInput">Slide space</label>
<input type="number" id="spaceInput" placeholder="Type number" v-model="slideSpace">
</div>
<div class="form-input">
<label for="widthInput">Slide width</label>
<input type="number" id="widthInput" placeholder="Type number" v-model="slideWidth">
</div>
<div class="form-input">
<label for="heightInput">Slide height</label>
<input type="number" id="heightInput" placeholder="Type number" v-model="slideHeight">
</div>
<div class="form-input">
<label for="borderInput">Slide border</label>
<input type="number" id="borderInput" placeholder="Type number" v-model="slideBorder">
</div>
<div class="form-input">
<label for="perspectiveInput">Slide perspective</label>
<input type="number" id="perspectiveInput" placeholder="Type number" v-model="slidePerspective">
</div>
<div class="form-input">
<label for="scalingInput">Slide scaling</label>
<input type="number" id="scalingInput" placeholder="Type number" v-model="slideScaling">
</div>
</div>
<div class="col-1-2">
<div class="form-input">
<button class="button" @click="addSlide">Add Slide</button>
<button class="button" @click="removeSlide">Remove Slide</button>
</div>
<div class="form-input">
<button class="button" @click="carouselControls = !carouselControls">Show/hide Navigation</button>
</div>
<div class="form-input">
<label for="visibleInput">Number of visible</label>
<input type="number" id="visibleInput" placeholder="Type number" v-model="visible">
</div>
<div class="form-input">
<label for="infiniteCheckbox">Infinite loop</label>
<input type="checkbox" id="infiniteCheckbox" v-model="infinite">
</div>
<div class="form-input">
<label for="disable3dCheckbox">Disable 3d</label>
<input type="checkbox" id="disable3dCheckbox" v-model="disable3d">
</div>
<!--<div class="form-input">-->
<!--<label for="autoplay">Autoplay</label>-->
<!--<input type="checkbox" id="autoplay" v-model="autoplayEnabled">-->
<!--</div>-->
<div class="form-input">
<label for="animationSpeedInput">Animation speed</label>
<input type="number" id="animationSpeedInput" placeholder="Type number" v-model="animationSpeed">
</div>
<div class="form-input">
<label for="dirSelect">Direction</label>
<select id="dirSelect" v-model="direction">
<option value="ltr">LTR</option>
<option value="rtl">RTL</option>
</select>
</div>
</div>
</div>
</div>
<div class="footer">
Released under the <a href="https://opensource.org/licenses/MIT">MIT License</a><br>
Copyright © 2020 <a href="http://vladimirbujanovic.com/">Vladimir Bujanovic</a>
</div>
</div>
<script type="text/javascript">
new Vue({
el: '#playground-example',
components: {
'carousel-3d': window['carousel-3d'].Carousel3d,
'slide': window['carousel-3d'].Slide
},
data: {
carouselControls: true,
slideWidth: 360,
slideHeight: 270,
slideBorder: 1,
slideSpace: 240,
slidePerspective: 35,
slideScaling: 300,
animationSpeed: 500,
startIndex: 0,
autoplayEnabled: false,
visible: 5,
direction: 'rtl',
infinite: true,
disable3d: false,
slides: [
{
title: 'Slide 1',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 2',
desc: 'Lorem ipsum dolor sit amet ',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 3',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. ',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 4',
desc: 'Lorem ipsum dolor sit amet, Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 5',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 6',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 7',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 8',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 9',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
},
{
title: 'Slide 10',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
}
]
},
methods: {
addSlide () {
this.slides.push({
title: 'Slide X',
desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, maxime.',
src: 'https://placehold.it/360x270'
})
},
removeSlide () {
this.slides.pop()
}
}
});
</script>
</div>
<script src="/vue-carousel-3d/js/smooth-scroll.min.js"></script>
<!-- main custom script for sidebars, version selects etc. -->
<script src="/vue-carousel-3d/js/common.js"></script>
<!-- ga -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-4467381-14', 'auto');
ga('send', 'pageview');
</script>
<!-- search -->
<link href="//cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/vue-carousel-3d/css/search.css">
<script src="//cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script>
<script>
[
'#search-query-nav',
'#search-query-sidebar'
].forEach(function (selector) {
if (!document.querySelector(selector)) return
// search index defaults to v2
var match = window.location.pathname.match(/^\/(v\d+)/)
var version = match ? match[1] : 'v2'
// docsearch({
// appId: 'BH4D9OD16A',
// apiKey: '85cc3221c9f23bfbaa4e3913dd7625ea',
// indexName: 'vuejs',
// inputSelector: selector,
// algoliaOptions: { facetFilters: ["version:" + version] }
// })
})
</script>
<!-- fastclick -->
<script src="//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body)
}, false)
</script>
</body>
</html>