微信小程序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 相关文章推荐
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
javascript中的数字与字符串相加实例分析
Aug 14 Javascript
jQuery之ajax技术的详细介绍
Jun 19 Javascript
简单的ajax连接库分享(不用jquery的ajax)
Jan 19 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
Sep 23 Javascript
Js利用正则表达式去除字符串的中括号
Nov 23 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
PHP脚本的10个技巧(5)
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
python计算圆周率pi的方法
2015/07/11 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
简单谈谈Python流程控制语句
2016/12/04 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python Cartopy的基础使用详解
2020/11/01 Python
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
孝老爱亲模范事迹
2014/01/24 职场文书
小学一年级评语大全
2014/04/22 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript