uniapp 自制进度条组件

<template>
	<!--  第一层进度条的背景色  -->
	 <view class="strip"> 
			 <!-- 第二层进度条的颜色 -->
			<view class="blue" :style="{width:+sum+'%'}"> 
				<!-- (进度条显示的图片  样式:根据父元素进行相对定位 ,本身绝对定位 ) -->
				<view class="proImg" :style="{left:+sum-1+'%'}">
					{{sum+'%'}}
				</view>
			</view>
	 </view>

</template>

<script>
	export default {
		props:{
			sum: {
				type: Number,
				default: 0
			},
		},
		data() {
			return {
				
			}
		},
		watch:{
			sum(e){console.log(e)}
		},
		onshow(){
		},
		methods: {
			
		}
	}
</script>

<style lang="scss" scoped>
.strip {
		/* 父元素相对定位 */
		position: relative;
		width: 360rpx;
		height: 12rpx;
		color: rgba(80, 80, 80, 1);
		background-color: #F5F5F5;
		border-radius: 7rpx;
		font-size: 28rpx;
		line-height: 150%;
		text-align: center;
	}
	.blue {
		height: 12rpx;
		color: rgba(80, 80, 80, 1);
		background-color: #1676FE;
		border-radius: 7rpx;
		font-size: 28rpx;
		line-height: 150%;
		text-align: center;
		.proImg{
			width:84rpx;
			height:76rpx;
			/* 子元素绝对定位   */
			position: absolute;
			/* 定位方向:属性值 */
			top:-30rpx
		}
	}
	

</style>
<template>
	<view class="body">
		<view style="display: flex; align-items: center;justify-content: space-around;font-size: 60rpx;">
			<view style="margin-right: 48rpx;" @touchstart="add"  @touchend="sss">+</view>
			<view @touchstart="jjj" @touchend="sss">-</view>
		</view>
		<view style="height: 50%;">
			<Progress :sum="sum" />
		</view>
	</view>
</template>

<script>
	import Progress from "../../components/Progress/Progress.vue"
	export default {
		components: {
			Progress
		},
		data() {
			return {
				sum: 100,
				time:0
			}
		},
		onLoad(data) {
			// this.$common.getCode()
		},
		methods: {
			add() {
				this.time = setInterval(()=>{
					this.sum++
				},100)
			},
			
			jjj() {
				this.time = setInterval(()=>{
					this.sum--
				},100)
			},
			sss(e){
				clearInterval(this.time)
			}
		}
	}
</script>
<style lang="scss">
	.body {
		height: 1606rpx;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呱嗨喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值