uniapp vue2 自定义悬浮按钮

组件代码

粘贴即用

javascript 复制代码
<template>
	<view>
		<movable-area class="movable-area">
			<movable-view class="movable-view" :x="x" :y="y" direction="all">
				<slot name="img"></slot>
			</movable-view>
		</movable-area>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				x: 350, //x坐标
				y: 600, //y坐标
			}
		}
	}
</script>

<style lang="scss">
	$all_width: 108rpx;
	$all_height: 108rpx;

	.movable-area {
		height: 90vh; 
		width: 750rpx;
		top: 0;
		position: fixed;
		pointer-events: none; //此处要加,鼠标事件可以渗透
		z-index: 99999999;

		.movable-view {

		
			width: $all_width;
			height: $all_height;
			pointer-events: auto; //恢复鼠标事件

			image {
				// width: $all_width;
				// height: $all_height;
			}
		}
	}
</style>

父组件使用

需求如不满足请自行修改

第一种方式使用

效果图

javascript 复制代码
<View @tap.stop="goMassage()">
			<floatButton>
                //通过插槽来将要显示的图片显示
				<template v-slot:img>
					<view class="butCustom flex jc ac">
                         //这里是显示的图片
						<image src="" mode=""></image>
					</view>
				</template>
			</floatButton>
</View>




js跳转等操作
	goMassage() {
				//要执行的操作
			},


css样式
//样式和背景色都可以在这设置
	.butCustom {
		width: 100rpx;
		height: 100rpx;
		background: #1D9673;
		border-radius: 999px;
	}

第二种使用方式

效果图

无消息

有消息

javascript 复制代码
		<View @tap.stop="goMassage()">
			<floatButton>
				<template v-slot:img>
					<view class="butCustom flex jc ac">
                        //消息的数量
						<view class="newmagTotal flex jc ac" v-if="newmagTotal>0">
							{{newmagTotal}}
						</view>
                         //展示消息图片
						<image src="" mode=""></image>
					</view>
					
				</template>
			</floatButton>
		</View>




js跳转等操作
	goMassage() {
				//要执行的操作
			},


css样式
//样式和背景色都可以在这设置
.butCustom {
		width: 100rpx;
		height: 100rpx;
		background: #1D9673;
		border-radius: 999px;
		position: relative;

		.newmagTotal {
			position: absolute;
			right: -5rpx;
			top: -5rpx;
			padding: 3px 10rpx;
			box-sizing: border-box;
			background-color: red;
			color: #fff;
			border-radius: 999px;
			font-size: 20rpx;
		}

	}
相关推荐
m0_748229998 分钟前
前端WebSocket应用——聊天实时通信的基本配置
前端·websocket·网络协议
爱lv行10 分钟前
使用 rbenv 切换 Ruby 版本
开发语言·前端·ruby
贼爱学习的小黄12 分钟前
Jenkins自动化部署前端项目
前端·自动化·jenkins
布兰妮甜16 分钟前
Angular模块化应用构建详解
javascript·angular.js·模块化
蜂鸟视图fengmap26 分钟前
玩转个性地图样式!蜂鸟视图蜂鸟云主题编辑器正式上线
前端·主题编辑器·蜂鸟视图·地图设计·智能地图·地图样式定制·三维地图引擎
初升晨光31 分钟前
node-js Express中间件
javascript·中间件·express
儒道易行32 分钟前
【DVWA】XSS(Stored)
前端·网络安全·xss
Amo 672932 分钟前
JavaScript 中的 new 和构造函数:传统方式与 ES6 语法糖对比
前端·javascript·es6
m0_748239331 小时前
.Net 8.0 Web API下使用JWT登录和鉴权
前端·.net·xhtml
架构师ZYL1 小时前
Node.js创建Express项目安装express-generator报错
javascript·node.js·html·express