如何在微信小程序中使用骨架屏的步骤


Posted in Javascript onJune 12, 2020

本文介绍了微信小程序中使用骨架屏,分享给大家,具体如下:

先上效果图

如何在微信小程序中使用骨架屏的步骤

骨架屏主要起到占位作用,向用户说明该区域有内容,有一定的心理准备。

聊聊背景:刚上线一款小程序,随着上架的东西越来越多,微信小程序加载越来越慢,会出现一段时间的白屏(大概2-3s),这对用户体验上来讲特别不友好。所以在网上开始找这方面的资料,骨架屏主要分为两种方案,下面来说说这两种方案。

1、为每个需要使用骨架屏的页面定制一套静态页面。这种方法缺点很明显,需要为每个页面单独定制,布局如果修改则需要同时修改两个页面,增加了维护成本。但这种特别适用于长列表,只需要做用户可见的部分,可在一定程度上增加响应速度。

2、利用工具渲染页面 获取指定的DOM节点和对应样式,生成灰色块覆盖在原来的样式结构上,从而实现骨架屏。这种方式简单易用好维护,个人感觉不太适合在长列表页面。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) {    

    }

  })
}

总结一下:数据较多的页面使用骨架屏可以大大提高用户体验。上文提到的骨架屏组件也是非常好用,几分钟就可以上手使用。

初次接触骨架屏,有理解不到的地方还请多多指正。

到此这篇关于如何在微信小程序中使用骨架屏的步骤的文章就介绍到这了,更多相关小程序使用骨架屏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jQuery 位置插件
Dec 25 Javascript
js获取网页高度(详细整理)
Dec 28 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
Aug 27 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
vue系列之requireJs中引入vue-router的方法
Jul 18 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
javascript实现的时间格式加8小时功能示例
Jun 13 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
vue引入Excel表格插件的方法
Apr 28 Vue.js
基于Web Audio API实现音频可视化效果
Jun 12 #Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 #Javascript
学前端,css与javascript重难点浅析
Jun 11 #Javascript
微信小程序 scroll-view的使用案例代码详解
Jun 11 #Javascript
基于ajax及jQuery实现局部刷新过程解析
Sep 12 #jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
Jun 11 #Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 #Javascript
You might like
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
Python的SQLAlchemy框架使用入门
2015/04/29 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python如何实现复制目录到指定目录
2020/02/13 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
实习教师个人的自我评价
2013/11/08 职场文书
中医药大学毕业生自荐信
2013/11/08 职场文书
自我评价200字分享
2013/12/17 职场文书
离婚协议书怎么写
2015/01/26 职场文书
人事局接收函
2015/01/30 职场文书
2015年环卫工作总结
2015/04/28 职场文书
离婚纠纷代理词
2015/05/23 职场文书
养成教育主题班会
2015/08/13 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
python如何在word中存储本地图片
2021/04/07 Python
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis