微信小程序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 相关文章推荐
List the UTC Time on a Computer
Jun 11 Javascript
学习ExtJS form布局
Oct 08 Javascript
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
JS中如何实现Laravel的route函数详解
Feb 12 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
Mar 13 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
JS中的const命令你真懂它吗
Mar 08 Javascript
javascript中call,apply,bind的区别详解
Dec 11 Javascript
vue实现简易的双向数据绑定
Dec 29 Vue.js
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学习笔记之字符串编码的转换和判断
2014/05/22 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
python类型强制转换long to int的代码
2013/02/10 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
python绘制彩虹图
2019/12/16 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
预备党员政审材料
2014/02/04 职场文书
中学校庆方案
2014/03/17 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
Python中的pprint模块
2021/11/27 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库