网络编程 发布日期:2025/11/1 浏览次数:1
本文介绍了微信小程序中使用骨架屏,分享给大家,具体如下:
先上效果图
"_blank" href="https://github.com/jayZOU/skeleton " rel="external nofollow" >https://github.com/jayZOU/skeleton 这款骨架屏组件轻量、方便、快捷,里面有教程,强烈推荐。
使用哪一种方案,就要根据自己的项目情况来进行选择了。我采用的是第一种,因为这个页面加载的DOM节点太多了。从获取到数据后到渲染到页面这段时间有骨架屏做缓冲,效果倍棒。
实现方法:
1、根据原有页面的结构,在重写一个静态页面,把原来用来显示图片、文字的地方替换成有灰色背景色的块。
<!--骨架屏 -->
<view class="sort" wx:if="{{showSkeleton}}">
<scroll-view scroll-y="true" class="sortlist" style="height:{{contentHeight-170}}rpx">
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
<view class="sort-l" >
<view class="sort-lgj"></view>
</view>
</scroll-view>
</view >
<view class="sort" wx:else>
这里是原来的页面
</view >
2、使用一个变量来控制骨架屏的显示或隐藏。
onLoad: function(options) {
var that = this
wx.request({
url:'xxxx', //请求地址
data: { //发送给后台的数据
xxxx: xxxx
},
header: { //请求头
"Content-Type": "applciation/json"
},
method: "GET",
success: function(res) {
that.setData({
goodslist: data
})
that.setData({
// 数据渲染后
showSkeleton: false
})
},
fail: function(err) {
}
})
}
总结一下:数据较多的页面使用骨架屏可以大大提高用户体验。上文提到的骨架屏组件也是非常好用,几分钟就可以上手使用。
初次接触骨架屏,有理解不到的地方还请多多指正。