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


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 相关文章推荐
JS 实现双色表格实现代码
Nov 24 Javascript
jQuery maxlength文本字数限制插件
Apr 16 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
Aug 17 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
jQuery时间验证和转换为标准格式的时间格式
Mar 06 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
详解vue 数据传递的方法
Apr 19 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
JS匿名函数内部this指向问题详析
May 10 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php strtotime 函数UNIX时间戳
2009/01/14 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
PHP多进程简单实例小结
2019/11/09 PHP
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
小程序实现搜索框
2020/06/19 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
原生js实现分页效果
2020/09/23 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
python读取word文档的方法
2015/05/09 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
对python调用RPC接口的实例详解
2019/01/03 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
计算机专业个人求职信范例
2013/09/23 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
一年级学生评语
2014/04/23 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js