微信小程序scroll-view实现横向滚动和上拉加载示例


Posted in Javascript onMarch 06, 2017

今天介绍微信小程序中scroll-view实现横向滚动和上拉加载的实现及需要注意的地方。

先看最终效果。

微信小程序scroll-view实现横向滚动和上拉加载示例

横向滚动

1.设置滚动项display:inline-block;

2.设置滚动视图容器white-space: nowrap;

3.滚动项不要用float

为什么会有以上三点要求呢?

其实横向滚动官方文档中是没有做太多说明的,只说明需要定义scroll-view滚动方向scroll-x=true允许横向滚动,但是我在实践的时候我发现,你要横向滚动,首先你得是一排吧。所以才发现需要定义滚动项及容器的一些属性,浮动是不能让所有的滚动项一排显示的。

上拉加载

<scroll-view scroll-y="true" bindscrolltolower="pullUpLoad" style="height: 58%;" class="content-wrap">

实现上拉加载,只需要绑定bindscrolltolower 事件处理,当滚动到底部/左边的时候,触发这个处理函数,逻辑上就是去请求下一页的数据,并且视图上显示正在加载的样式,当数据请求成功,将其拼合到之前的数据中,并隐藏正在加载的样式。

//下拉加载
pullUpLoad: function(){
  var that = this;
  console.log("====下拉====")
  if (!that.data.hidden) {
    that.data.params.pageNo += 1;
    that.setData({
      params: that.data.params,
    })
    if(that.data.params.pageNo <= that.data.totalPages){
      that.setData({
        hidden: true,
      })
      that.getShareList();
    }else{
      that.setData({
        hidden: false,
      })
    }
  }
}

如何设置scroll-view满屏滚动

文档中说到:使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height。

那么我们想让小程序满屏滚动该如何设置高度呢,直接设置height:100%?好像不是很好用,原因是因为这个高度没有参照物,以前我们是设置body的高度,类似,我们这里发现小程序页面渲染出来的容器是Page,那我们就先设置Page的高度100%,再设置scroll-view高度100%,问题得到解决。

官方推荐的loading效果

onLoad:function(options){
  wx.showToast({
    title: '加载中',
    icon: 'loading',
    duration: 10000//loading时间
  });
  //wx.hideToast();隐藏loading
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用jQuery jqPlot插件绘制柱状图
Dec 18 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
Mar 18 Javascript
JavaScript中的slice()方法使用详解
Jun 06 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
Angularjs为ng-click事件传递参数
Jun 15 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
Mar 06 Javascript
Bootstrap-table自定义可编辑每页显示记录数
Sep 07 Javascript
浅谈ng-zorro使用心得
Dec 03 Javascript
taro小程序添加骨架屏的实现代码
Nov 15 Javascript
详解Webpack抽离第三方类库以及common解决方案
Mar 30 Javascript
React 并发功能体验(前端的并发模式)
Jul 01 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 #Javascript
Bootstrap显示与隐藏简单实现代码
Mar 06 #Javascript
jQuery时间验证和转换为标准格式的时间格式
Mar 06 #Javascript
Bootstrap导航中表单简单实现代码
Mar 06 #Javascript
基于JS实现仿百度百家主页的轮播图效果
Mar 06 #Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 #Javascript
Bootstrap导航简单实现代码
Mar 06 #Javascript
You might like
如何开发一个虚拟域名系统
2006/10/09 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
自我反省检讨书
2014/01/23 职场文书
中学生打架检讨书
2014/10/13 职场文书
房屋产权证明书
2014/10/15 职场文书
违纪学生保证书
2015/02/27 职场文书
音乐之声观后感
2015/06/04 职场文书
休学证明范本
2015/06/19 职场文书
表扬信范文
2019/04/22 职场文书
python Django框架快速入门教程(后台管理)
2021/07/21 Python