TransX 一个小巧玲珑的 vue 组件切换动画库

7 篇文章 0 订阅
2 篇文章 0 订阅

转载一个换不错的vue库

二、安装

npm install transx
or
yarn add transx
复制代码
复制代码

三、使用

<!-- 包裹动画元素 -->
<trans-x
  :time="time"
  :delay="delay"
  :autoplay="autoplay"
  :loop="loop"
  :nextTransition="nextTransition"
  :prevTransition="prevTransition"
  ref="transx"
  @over="over"
  @transitionend="transitionEnd"
>
  <div class="comp" v-for="(item, index) in items" :key="index" :index="index + 1"></div>
</trans-x>

复制代码
复制代码
import TransX from "transx";

export default {
  components: {
    TransX
  },
  data() {
    return {
      time: 0.6,
      loop: true,
      autoplay: 1000,
      delay: -1,
      nextTransition: "fadeIn",
      prevTransition: "fadeIn",
      defaultIndex: 0
    }
  }
}
复制代码
复制代码

四、支持参数

参数说明类型默认值备注
time动画时长number0.6单位秒
loop是否循环展现booleantrue
autoplay是否自动循环boolean, numberfalseautoplay传递为true时,会赋予默认值1000,单位毫秒
delay动画间隔number-1
defaultIndex默认显示第几张number0
nextTransition下一个的动画,动画种类见下方stringmoveLeftBack
prevTransition上一个的动画,动画种类见下方stringmoveRightBack

四、支持事件

  • over - 跳转到了边界后的回调,当在第一页继续上翻和在最后一页继续下翻时调用
  over: function(isEnd) {
    console.log('边界到了', isEnd);
  }
复制代码
复制代码

** 说明:当边界为翻到第一页时isEnd为false,当边界为翻到最后一页时isEnd为true,

  • transitionend - 动画结束时的回调,在动画结束后调用,参数为当前的索引,值从0开始
  transitionEnd: function(currentIndex) {
    console.log("当前到第几页了: ", currentIndex);
  }
复制代码
复制代码

五、支持API

  • goto - 跳转到第几页,参数为页码标识,索引从0开始
    this.$refs.transx.goto(3); // 跳转到第四页
复制代码
复制代码
  • prev - 跳转到上一页
    // 不传参
    this.$refs.transx.prev();
    // 传参
    this.$refs.transx.prev({
        time: 0.6,
        delay: -1,
        transition: "moveLeftQuart", // 参考下面[支持动画种类]
    });
复制代码
复制代码
  • next - 跳转到下一页
    // 不传参
    this.$refs.transx.next();
    // 传参
    this.$refs.transx.next({
        time: 0.6,
        delay: -1,
        transition: "moveLeftQuart", // 参考下面[支持动画种类]
    });
复制代码
复制代码

六、支持的动画类型

目前共支持24种动画类型,具体选择哪种动画类型,可以参考例子codesanbox,多试试,说不定有意外惊喜哦。下面放几个例子给大家看看:

  • fadeIn

  • flip

  • shuttleRight

  • zoomRotateIn

七、说明

  • 目前只支持Vue2,后续会升级支持Vue3,
  • 在使用过程中如果遇到什么问题,可以随时提交issue,issue直达

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用OpenGL实现键盘控制三角形平移、旋转和缩放的简单程序。你可以将此代码放入一个C++文件中并编译运行。 ```c++ #include <GL/glut.h> #include <iostream> using namespace std; // 三角形的顶点坐标 GLfloat vertices[][3] = { { -1.0,-1.0,-1.0 },{ 1.0,-1.0,-1.0 }, { 1.0,1.0,-1.0 },{ -1.0,1.0,-1.0 },{ -1.0,-1.0,1.0 }, { 1.0,-1.0,1.0 },{ 1.0,1.0,1.0 },{ -1.0,1.0,1.0 } }; // 三角形的边界顶点索引 GLfloat edges[][2] = { { 0,1 },{ 1,2 },{ 2,3 },{ 3,0 }, { 4,5 },{ 5,6 },{ 6,7 },{ 7,4 },{ 0,4 },{ 1,5 },{ 2,6 },{ 3,7 } }; // 三角形的颜色 GLfloat colors[][3] = { { 1.0,0.0,0.0 },{ 0.0,1.0,0.0 }, { 0.0,0.0,1.0 },{ 1.0,1.0,0.0 },{ 1.0,0.0,1.0 },{ 0.0,1.0,1.0 } }; // 三角形的缩放比例 GLfloat scale = 1.0; // 三角形的平移量 GLfloat transX = 0.0, transY = 0.0, transZ = -5.0; // 三角形的旋转角度 GLfloat rotX = 0.0, rotY = 0.0, rotZ = 0.0; // 执行绘制操作 void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); // 平移 glTranslatef(transX, transY, transZ); // 旋转 glRotatef(rotX, 1.0, 0.0, 0.0); glRotatef(rotY, 0.0, 1.0, 0.0); glRotatef(rotZ, 0.0, 0.0, 1.0); // 缩放 glScalef(scale, scale, scale); // 绘制三角形 for (int i = 0; i < 12; i++) { glBegin(GL_LINES); glColor3fv(colors[i / 2]); glVertex3fv(vertices[edges[i][0]]); glVertex3fv(vertices[edges[i][1]]); glEnd(); } glFlush(); glutSwapBuffers(); } // 执行键盘操作 void keyboard(unsigned char key, int x, int y) { switch (key) { // 放大 case 'w': scale += 0.1; break; // 缩小 case 's': scale -= 0.1; break; // 上移 case 'i': transY += 0.1; break; // 下移 case 'k': transY -= 0.1; break; // 左移 case 'j': transX -= 0.1; break; // 右移 case 'l': transX += 0.1; break; // 绕X轴顺时针旋转 case 'x': rotX += 10.0; break; // 绕X轴逆时针旋转 case 'X': rotX -= 10.0; break; // 绕Y轴顺时针旋转 case 'y': rotY += 10.0; break; // 绕Y轴逆时针旋转 case 'Y': rotY -= 10.0; break; // 绕Z轴顺时针旋转 case 'z': rotZ += 10.0; break; // 绕Z轴逆时针旋转 case 'Z': rotZ -= 10.0; break; // 默认 default: break; } glutPostRedisplay(); } // 初始化OpenGL void init() { glClearColor(0.0, 0.0, 0.0, 0.0); glEnable(GL_DEPTH_TEST); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow("Triangle Transformation"); init(); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; } ``` 该程序使用OpenGL绘制了一个三角形,并且可以通过键盘控制其平移、旋转和缩放。你可以通过按下“w”键和“s”键来放大和缩小三角形,按下“i”、“k”、“j”和“l”键来控制三角形在水平和垂直方向上的平移,按下“x”、“X”、“y”、“Y”、“z”和“Z”键来控制三角形的旋转。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值