微信小程序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搜索同辈元素方法
Feb 10 Javascript
Jsonp post 跨域方案
Jul 06 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
May 26 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
JS实现间歇滚动的运动效果实例
Dec 22 Javascript
WdatePicker.js时间日期插件的使用方法
Jul 26 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
JS FormData对象使用方法实例详解
Feb 12 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
Apr 17 Javascript
AJAX XMLHttpRequest对象创建使用详解
Aug 20 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
php操作xml
2013/10/27 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
js身份证验证超强脚本
2008/10/26 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Python 内存管理机制全面分析
2021/01/16 Python
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
办理信用卡工作证明
2014/01/11 职场文书
白血病捐款倡议书
2014/05/14 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
交通事故和解协议书
2014/09/25 职场文书
警察群众路线整改措施
2014/09/26 职场文书
六年级小学生评语
2014/12/26 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技