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


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 相关文章推荐
Extjs中常用表单介绍与应用
Jun 07 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
jQuery中:eq()选择器用法实例
Dec 29 Javascript
javascript单例模式的简单实现方法
Jul 25 Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 Javascript
详解javascript数组去重问题
Nov 06 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
AngularJS入门教程二:在路由中传递参数的方法分析
May 27 Javascript
npm的lock机制解析
Jun 20 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 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
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php递归函数怎么用才有效
2018/02/24 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
window.onload使用指南
2015/09/13 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
简单了解python数组的基本操作
2019/11/26 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
化学相关工作求职信
2013/10/02 职场文书
软件工程师岗位职责
2013/11/16 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
检查接待方案
2014/02/27 职场文书
人力资源管理求职信
2014/08/07 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
父母教会我观后感
2015/06/17 职场文书
敬老院活动感想
2015/08/07 职场文书
学生会副主席竞选稿
2015/11/19 职场文书