更新记录

1.0.0(2023-05-08)

发布


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

悬浮球

长期维护,欢迎使用,欢迎提出您宝贵的意见

第一步,引用组件

import dyFloatingBall from '@/components/dy-floating-ball';

第二步,注册组件

components: {
    dyFloatingBall
}

Props

参数 类型 默认值 说明
ballStyle Object {} 小球初始化样式,单位建议使用rpx
ballLeaveUnusedStyle Object {} 小球闲置时样式,支持所有对象形式的css样式
options Object 见下方 字段配置项

Options

字段 默认值 说明
moveX true 允许水平移动
moveY true 允许垂直移动
isEdge 1 0不吸边,1吸边,2仅左吸边,3仅右吸边
edgeTime 10 吸边定时器单次时长
edgeStep 10 吸边定时器单次步长
isAcceleratedSpeed true 是否需要加速度
acceleratedSpeedForceOfFriction 0.95 加速度之后的摩擦力,建议0.95左右,0<摩擦力<1
leaveUnusedTime 3000 闲置时长,小于等于0为不进入闲置
leaveUnusedStatus true 默认闲置状态

Events

事件名称 说明 回调参数
diyEvent 自定义事件回调 type:事件(touch触摸/move移动),num次数
edgePoint 小球停靠事件回调 小球坐标,left,top
leaveUnused 小球闲置后的回调 /

Slot

字段 说明
ball 小球插槽,提供更高的自定义效果

示例代码

<template>
    <view>
        <view class="box">
            <dy-floating-ball
                    class="dyFloatingBall"
                    :ballStyle="ballStyle"
                    :ballLeaveUnusedStyle="ballLeaveUnusedStyle"
                    :options="options"
                    @diyEvent="diyEvent"
                    @edgePoint="edgePoint"
                    @leaveUnused="leaveUnused"
            >
                <view class="ball" slot="ball">球</view>
            </dy-floating-ball>
        </view>
    </view>
</template>

<script>
    import dyFloatingBall from '@/components/dy-floating-ball';

    export default {
        data() {
            return {
                ballStyle: { // 小球初始化样式
                    width: '100rpx',
                    height: '100rpx',
                    backgroundImage: 'url(https://img-cdn-aliyun.dcloud.net.cn/dev/img/ext/logo-d.png)',
                    left: '650rpx',
                    top: '0rpx',
                },
                ballLeaveUnusedStyle: { // 小球闲置样式
                    color: '#fff',
                    backgroundColor: '#e4393c',
                    backgroundImage: 'linear-gradient(0deg, #36A5ED 0%, #6EEE96 100%)',
                },
                options: { // 配置
                    moveX: true, // 允许水平移动
                    moveY: true, // 允许垂直移动
                    isEdge: 1, // 0不吸边,1吸边,2仅左吸边,3仅右吸边
                    edgeTime: 17, // 吸边定时器单次时长
                    edgeStep: 17, // 吸边定时器单次步长
                    isAcceleratedSpeed: true, // 是否需要加速度
                    acceleratedSpeedForceOfFriction: 0.95, // 摩擦力,建议0.95左右,0<摩擦力<1
                    leaveUnusedTime: 3000, // 闲置时长,小于等于0为不进入闲置
                    leaveUnusedStatus: true, // 默认闲置状态
                },
            }
        },
        components: {
            dyFloatingBall,
        },
        methods: {
            diyEvent(e) {
                console.log('对小球操作了', e);
            },
            edgePoint(e) {
                console.log('小球停靠了', e);
            },
            leaveUnused() {
                console.log('小球闲置了');
            },
        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问