微信小程序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 相关文章推荐
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
Jan 07 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
js实现简单的省市县三级联动效果实例
Feb 18 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
Sep 08 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
node.js之基础加密算法模块crypto详解
Sep 11 Javascript
vue实现搜索过滤效果
May 28 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 Javascript
Jquery Datatables的使用详解
Jan 30 jQuery
js实现随机抽奖
Mar 19 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的FTP学习(三)
2006/10/09 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
php文件上传的简单实例
2013/10/19 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
一分钟理解js闭包
2016/05/04 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
Python中GIL的使用详解
2018/10/03 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
交通安全标语
2014/06/06 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书