uni 页面加载完毕_uni-app图片未加载完处理

本文介绍了在uni-app中如何处理页面图片加载的问题。当图片未加载完毕时,使用.new-img作为占位背景图片,设置透明度为0;图片加载失败则显示预设的loadImg错误占位图片;图片加载完成后,添加.loaded类并调整透明度为1,显示完整图片。通过这种方式,提升用户体验。
摘要由CSDN通过智能技术生成

实现效果

1.图片未加载完看到的是 .new-img占位背景图片,.new_back透明度设置0;

2.图片加载失败显示设置的 loadImg 失败占位图片

3.图片加载完直接显示完整图片同时添加类名. loaded透明度设置1;

数据结构

@error="onImageError('newData', index)">

{{item.categoryName1}}

{{item.categoryName2}}

{{$t('home.home52')}} {{item.nowPrice | setMoney2(item.unit)}}

js部分

data() {

return {

newData: [],//数据

loadImg: "../../../static/errorImage.jpg"//失败加载图片

}

},

methods: {

//监听image加载完成

onImageLoad(key, index) {

this.$set(this[key][index], 'loaded', 'loaded');

},

//监听image加载失败

onImageError(key, index) {

this[key][index].image = this.loadImg;

},

}

样式部分

.new-img {

width: ((48 / 375) * 750)+rpx;

height: ((48 / 375) * 750)+rpx;

display: inline-block;

position: relative;

background: url("../../../static/loadYimg.jpg") no-repeat center;

background-size: 100%;

border-radius: 50%;

overflow: hidden;

.new_flag {

width: ((16 / 375) * 750)+rpx;

height: ((10.6 / 375) * 750)+rpx;

position: absolute;

bottom: ((4 / 375) * 750)+rpx;

right: 0;

}

.new_back{

width: 100%;

height: 100%;

transition: .2s;

opacity: 0;

&.loaded {

opacity: 1;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值