[+] Implement accordion with collapse
This commit is contained in:
+15
-29
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="collapse">
|
<div class="collapse">
|
||||||
<h3 v-html="displayTitle" class="clickable" @click="show = !show"></h3>
|
<h3 v-html="displayTitle" class="clickable"></h3>
|
||||||
<div class="content" :class="{hide: !show}">
|
<div class="content">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {Options, Vue} from 'vue-class-component';
|
import {Options, Vue} from 'vue-class-component';
|
||||||
import {Prop} from "vue-property-decorator";
|
import {Prop} from "vue-property-decorator";
|
||||||
|
import $ from "jquery";
|
||||||
|
|
||||||
@Options({components: {}})
|
@Options({components: {}})
|
||||||
export default class Collapse extends Vue
|
export default class Collapse extends Vue
|
||||||
@@ -22,40 +23,25 @@ export default class Collapse extends Vue
|
|||||||
{
|
{
|
||||||
return decodeURIComponent(this.title)
|
return decodeURIComponent(this.title)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mounted(): void
|
||||||
|
{
|
||||||
|
$('.collapse').accordion({collapsible: true, header: 'h3', heightStyle: 'content',
|
||||||
|
active: false})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="sass">
|
<style lang="sass">
|
||||||
.collapse
|
.collapse
|
||||||
.hide
|
h3.ui-accordion-header
|
||||||
animation: fadeout 1s
|
margin: 0
|
||||||
-webkit-animation: fadeout 1s
|
padding-top: 0.5em
|
||||||
opacity: 0
|
padding-bottom: 0.5em
|
||||||
max-height: 0
|
|
||||||
pointer-events: none
|
|
||||||
|
|
||||||
/* Chrome, Safari, Opera */
|
h3.ui-accordion-header:not(.ui-accordion-header-active):after
|
||||||
@-webkit-keyframes fadeout
|
|
||||||
from
|
|
||||||
display: block
|
|
||||||
visibility: visible
|
|
||||||
opacity: 1
|
|
||||||
to
|
|
||||||
transform: translateY(-100px)
|
|
||||||
display: none
|
|
||||||
visibility: hidden
|
|
||||||
opacity: 0
|
|
||||||
height: 0
|
|
||||||
|
|
||||||
*
|
|
||||||
transition: all 0.25s ease
|
|
||||||
|
|
||||||
h3
|
|
||||||
background-clip: padding-box
|
|
||||||
|
|
||||||
h3:after
|
|
||||||
content: '...'
|
content: '...'
|
||||||
|
|
||||||
h3:hover
|
h3:hover
|
||||||
background-color: rgba(255, 131, 115, 0.36)
|
//background-color: rgba(255, 131, 115, 0.36)
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user