<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>