微信小程序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判断浏览器的比较全的代码
Feb 13 Javascript
JavaScript 撑出页面文字换行
Jun 15 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
解析利用javascript如何判断一个数为素数
Dec 08 Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
小程序实现页面顶部选项卡效果
Nov 06 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 Javascript
Vue实现Header渐隐渐现效果的实例代码
Nov 05 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中转义mysql语句的实现代码
2011/06/24 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python多进程机制实例详解
2015/07/02 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
django session完成状态保持的方法
2018/11/27 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
python 连续不等式语法糖实例
2020/04/15 Python
python GUI模拟实现计算器
2020/06/22 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
策划主管的工作职责
2013/11/24 职场文书
小学毕业寄语大全
2014/04/03 职场文书
淘宝好评语大全
2014/05/05 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS