微信小程序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 相关文章推荐
做网页的一些技巧(续)
Feb 01 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
jQuery与Ajax以及序列化
Feb 01 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
canvas时钟效果
Feb 16 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
Vue页面骨架屏注入方法
May 13 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 Javascript
详谈vue中router-link和传统a链接的区别
Jul 22 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 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
默默简单的写了一个模板引擎
2007/01/02 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
js多个物体运动功能实例分析
2016/12/20 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
Python采用Django制作简易的知乎日报API
2016/08/03 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
python使用建议与技巧分享(二)
2020/08/17 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
母亲节演讲稿
2014/05/27 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
学历证明范文
2015/06/16 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
Linux中如何安装并部署Redis
2022/04/18 Servers
Python 图片添加美颜效果
2022/04/28 Python
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL
PYTHON InceptionV3模型的复现详解
2022/05/06 Python