1.0.5 • Published 5 years ago

e-flyjs v1.0.5

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

抛物线动画

用法

# install
npm i --save e-flyjs
<template>
  <div class="fly-demo">
    <div class="list">
      <div class="list-item" @click="flyRun" v-for="i in 50" :key="i">
        项{{i}}s
      </div>
    </div>
    <div id="tar" class="tar">目标</div>
    <span id="dot" class="dot"></span>
  </div>
</template>
<script>
import Fly from 'e-flyjs'
export default {
  name: 'Fly_demo',
  methods: {
    flyRun(e) {
      const $tar = document.querySelector('#tar')
      const $dot = document.querySelector('#dot')
      let flyInstance = new Fly({
        el: e.target, // 触发的元素
        targetEl: $tar, // 目标元素
        flyEl: $dot, // 飞行的元素,可不传
        duration: 600,
        stop: function() {
          flyInstance = null
        },
      })
      flyInstance.start()
    }
  }
}
</script>
<style scoped>
  .fly-demo {
    position: relative;
  }
  .list {
    display: flex;
    flex-wrap: wrap;
    width: 20vw;
  }
  .list-item {
    width: 60px;
    height: 60px;
    color: #787878;
    text-align: center;
    line-height: 60px;
    border-radius: 60px;
    background: #d7e1ff;
    /* transition: all 3s linear; */
    will-change: auto;
    transition-timing-function: cubic-bezier(0.16, 0.72, 0.90, 0.22);
  }
  .tar {
    position: fixed;
    right: 10px;
    bottom: 20vh;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    border: 1px solid #787878;
  }
  .dot {
    position: fixed;
    opacity: 0;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background: #f00;
  }
</style>
1.0.5

5 years ago

1.0.2

5 years ago