1.0.3 • Published 3 years ago

image-transition-3d v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

image-transition-3d

介绍

主要用于将图片做瓦片处理, 并进行异步动画切换。

快速使用

安装依赖

npm install image-transition-3d --save

# or

yarn add image-transition-3d

注册组件到 Vue

import Vue from 'vue'
import ImageTransition3d from "image-transition-3d";

Vue.use(ImageTransition3d);

使用

<template>
    <div id="app">
        <div style="width: 800px;height: 480px;position:relative;">
            <image-transition-3d
                    v-model="imageIndex"
                    :images="images"
            />
        </div>
    </div>
</template>

<script>
    export default {
        name: 'App',
        components: {},
        data() {
            return {
                // 当前显示图片(数组下标)
                imageIndex: 0,
                // 图片 src 列表
                images: [
                    '/image/1.jpg',
                    '/image/2.jpg',
                    '/image/3.jpg',
                    '/image/4.jpg',
                ],
            };
        }
    }
</script>

参数列表

参数类型说明
imagesArray\<String>图片 src 连接列表
valueInteger当前显示的 src 列表下标
colsInteger列数
rowsInteger行数
customTransitionsArray\<CustomTransition>自定义动画列表
durationInteger动画切换图片间隔 ( ms )
useTransitionNamesArray\<Object>切换随机使用的动画名称

CustomTransition

参数类型说明
nameObject动画名称(全局唯一)
leaveStyleFunction(index)返回离开的样式的方法, index 为瓦片下标
enterStyleFunction(index)返回进入样式的开始位置样式
leaveDistributionTimeInteger , Function(index)瓦片动画开始随机延时范围
leaveDurationInteger, Function(index)单个瓦片离开动画过度时间
enterDurationInteger, Function(index)单个瓦片进入动画过度时间

使用指定动画配置

<template>
    <div id="app">
        <div style="width: 800px;height: 480px;position:relative;">
            <image-transition-3d
                    v-model="imageIndex"
                    :images="images"
                    :custom-transitions="customTransitions"
                    :use-transition-names="useTransitionNames"
            />
        </div>
    </div>
</template>

<script>
    export default {
        name: 'App',
        components: {},
        data() {
            return {
                imageIndex: 0,
                images: [
                    '/image/1.jpg',
                    '/image/2.jpg',
                    '/image/3.jpg',
                    '/image/4.jpg',
                ],
                // 自定义动画
                customTransitions: [
                    {
                        // 动画名称
                        name: "me",
                        // 离开动画 i : 第 i 个瓦片, 横着数
                        leaveStyle: function (i) {
                            return {
                                "opacity": 0,
                                "transform": "translateX(100px)"
                            }
                        },
                        // 入场动画
                        enterStyle: function (i) {
                            return {
                                "opacity": 0,
                                "transform": "translateX(-100px)"
                            }
                        },
                        // 异步离开的最大时间跨度 会随机一个时间开始单个瓦片动画
                        leaveDistributionTime: 1000,
                        // 离开动画过渡时间
                        leaveDuration: 1000,
                        // 入场动画过度时间
                        enterDuration: 1000,
                    }
                ],
                useTransitionNames: ['me']
            };
        }
    }
</script>

问题反馈

  • 有任何问题可提出 issue 或邮件至 fangjc1986@qq.com

仓库

github: https://github.com/fangjc1986/image-transition-3d.git