微信小程序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获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
jquery移动节点实例
Jan 14 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 Javascript
Express本地测试HTTPS的示例代码
Jun 06 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
微信小程序实现左侧滑动导航栏
Apr 08 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
JavaScript实现好看的跟随彩色气泡效果
Feb 06 Javascript
Vue的全局过滤器和私有过滤器的实现
Apr 20 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 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
9个实用的PHP代码片段分享
2015/01/22 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
js日期联动示例
2014/05/02 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
深入理解JavaScript的async/await
2018/08/05 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
在Python的Django框架中创建语言文件
2015/07/27 Python
Python序列操作之进阶篇
2016/12/08 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
如何理解transaction事务的概念
2015/05/27 面试题
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python