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


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 select控制插件
Aug 17 Javascript
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
浅析document.ready和window.onload的区别讲解
Dec 18 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
localStorage的黑科技-js和css缓存机制
Feb 06 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
详解javascript中的变量提升和函数提升
May 24 Javascript
如何从0开始用node写一个自己的命令行程序
Dec 29 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
layui操作列按钮个数和文字颜色的判断实例
Sep 11 Javascript
基于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
ip签名探针
2006/10/09 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
vue打包后显示空白正确处理方法
2017/11/01 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
Django 路由控制的实现
2019/07/17 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
python3 kubernetes api的使用示例
2021/01/12 Python
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
我的画教学反思
2014/04/28 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
电气工程师岗位职责
2015/02/12 职场文书
理解python中装饰器的作用
2021/07/21 Python