入门GSAP动画——一个简单的数字滚动动画

照常浏览vuejs官网,在动画这一章节,看到基于侦听器的动画

基于侦听器的动画

通过发挥一些创意,我们可以基于一些数字状态,配合侦听器给任何东西加上动画。例如,我们可以将数字本身变成动画:

官网给的Demo使用gsap做出了数字滚动动画,刚好我也在看vue-count-to组件,貌似Vue3不能用了。不过既然有GSAP,写动画还不是手到擒来,跟着文档随手写一个数字滚动动画

数字滚动动画

入门GSAP动画——一个简单的数字滚动动画
2.gif

安装GSAP

npm install gsap

组件代码

GSAP官网说它可以操作任何Javascript可以操作的内容,一般的例子多是操作dom元素,此处我们操作js的变量tweened,改变其上的属性number,来实现数字动画,代码非常简单。

注意:toFixed()必须要加上,要不数字会出现小数,不信你可以试试~

<template>
  <div>
    {{ tweened.number.toFixed(0) }}
  </div>

</template>

<script setup lang="ts">
import { reactive, onMounted } from 'vue'
import gsap from 'gsap'

const props = withDefaults(
  defineProps<{
    from: number
    to: number
    duration?: number
  }>(),
  {
    from: 0,
    to: 0,
    duration: 1
  }
)

let tweened = reactive({
  number: props.from
})

gsap.to(tweened, { duration: props.duration, ease: 'power1.out', number: props.to.toFixed(0) })
</
script>

页面代码

<template>
  <div class="grid grid-cols-4 gap-4 m-4">
    <div class="bg-blue-500">
      <GsapNumber :from="0" :to="290" />
    </div>
    <div class="bg-red-500">
      <GsapNumber :from="0" :to="11456" />
    </div>
    <div class="bg-pink-500">
      <GsapNumber :from="0" :to="367" />
    </div>
    <div class="bg-green-500">
      <GsapNumber :from="0" :to="56789" />
    </div>

    <div class="bg-blue-500">
      <GsapNumber :from="1230" :to="0" />
    </div>
    <div class="bg-red-500">
      <GsapNumber :from="30" :to="0" />
    </div>
    <div class="bg-pink-500">
      <GsapNumber :from="870" :to="0" />
    </div>
    <div class="bg-green-500">
      <GsapNumber :from="3404" :to="0" />
    </div>
  </div>

</template>

<style scoped>
.grid > div {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  color: #fff;
}
</
style>

OK,虽然我需要用到动画的地方很少,但还是按捺不住想继续学习GSAP,有点像多年前做Flash的感觉。

原文始发于微信公众号(自由前端之路):入门GSAP动画——一个简单的数字滚动动画

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/258547.html

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!