微信小程序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 相关文章推荐
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
javascript学习笔记(七) js函数介绍
Jun 19 Javascript
项目中常用的JS方法整理
Jan 30 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 Javascript
Bootstrap源码解读表单(2)
Dec 22 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
node跨域转发 express+http-proxy-middleware的使用
May 31 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
详解在Node.js中发起HTTP请求的5种方法
Jan 10 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生成静态HTML速度快类库
2007/03/18 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
php use和include区别总结
2019/10/13 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
js实现计时器秒表功能
2019/12/16 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
js编写简易的计算器
2020/07/29 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
python字典按照value排序方法
2020/12/28 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
python可视化之颜色映射详解
2021/09/15 Python
HTML基本元素标签介绍
2022/02/28 HTML / CSS