JS动画
您可以使用Quasar通过Javascript(使用RAF - requestAnimationFrame())创建动画。
import { animate } from 'quasar' |
例子:import { animate } from 'quasar'
animate.start({
from: 6,
to: 158,
apply (pos) {
el.style.maxHeight = `${pos}px`
},
done () {
console.log(`we're done!`)
}
})
缓动(Easing)函数
缓动函数取当前动画百分比进度(0和1之间的浮点数)并返回位置乘数(0表示初始位置,1表示最终位置)。
包括以下缓动函数:
ease[In|Out|InOut][Quad|Cubic|Quart|Quint|Circ]- 例如,
easeInCubic、Quad以及Quint效果逐渐变得更夸张。Circ略有不同(图形是四分之一圈),它在最后加速更快。
- 例如,
overshoot- 拍摄超过最终位置并缓慢返回
standard- 用于屏幕上的移动。加速很快,减速缓慢
decelerate- 用于进入屏幕的元素。飞入并缓慢减速(
easeOutCubic)。
- 用于进入屏幕的元素。飞入并缓慢减速(
accelerate- 用于离开屏幕的元素。加速然后全速离开(
easeInCubic)。
- 用于离开屏幕的元素。加速然后全速离开(
sharp- 用于离开屏幕可能返回的的元素(例如导航栏)。加速和减速(
easeInOutQuad)
- 用于离开屏幕可能返回的的元素(例如导航栏)。加速和减速(
例如:import { animate, easing } from 'quasar'
animate.start({
from: 0,
to: 100,
easing: easing.standard
...
})
或者用转盘:<template>
<q-carousel :swipe-easing="overshoot">
Slides...
</q-carousel>
</template>
<script>
import { easing, QCarousel } from 'quasar'
export default {
components: {
QCarousel
},
data: () => ({
overshoot: easing.overshoot
})
}
</script>
Quasar