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


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 相关文章推荐
javascript 中对象的继承〔转贴〕
Jan 22 Javascript
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
简单的代码实现jquery定时器
Jan 03 Javascript
用json方式实现在 js 中建立一个map
May 02 Javascript
无刷新上传文件并返回自定义值
Jun 11 Javascript
JavaScript Date对象详解
Mar 01 Javascript
基于jQuery日历插件制作日历
Mar 11 Javascript
AngularJS实用开发技巧(推荐)
Jul 13 Javascript
JS简单生成两个数字之间随机数的方法
Aug 03 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
js实现网页随机验证码
Oct 19 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
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python实现字符串和字典的转换
2018/09/29 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python中的global关键字的使用方法
2019/08/20 Python
python 录制系统声音的示例
2020/12/21 Python
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
初中生自我评价
2014/02/01 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
2014年教务工作总结
2014/12/03 职场文书
个人党性分析材料
2014/12/19 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android