微信小程序开发之scroll-view
本文主要介绍通过scroll-view实现回至顶部,如下效果
一、页面代码
顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部。
scroll-view必须指定scroll-y属性和该区域的高度
<view class="page">
<view class="swiper-tab border-top">
<view>
<text class='text-primary'>查找</text>
</view>
</view>
<view class="weui-panel weui-panel_access mt0 no_border">
<scroll-view scroll-y style="height:{{scrollHeight}}px;" scroll-top="{{scrollTop}}"> <view class="weui-panel__bd">
<block wx:for="{{listdata}}" wx:key="{{item.Id}}">
<navigator url="/pages/test/Show?id={{item.Id}}">
<view class="weui-media-box weui-media-box_text">
<view class="weui-media-box__desc">{{item.Desc}}</view>
</view>
</navigator>
</block>
</view>
<view class="weui-panel__ft">
<view class="weui-cell weui-cell_access weui-cell_link">
<view class="weui-cell__bd col-4 text-center" bindtap="prevPage">上一页</view>
<view class="weui-cell__bd col-4 text-center">
<picker bindchange='changePage' class="picker" value="{{currentPage-1}}" range="{{pageArray}}">
<view>
第{{pageArray[currentPage-1]}}页
</view>
</picker>
</view>
<view class="weui-cell__bd col-4 text-center" bindtap="nextPage">下一页</view>
</view>
</view>
</scroll-view>
</view>
</view>
二、脚本代码
scrollHeight是内容区域的高度,点击上一页\下一页时,回到顶部
Page({
data: {
limit: 10,
currentPage: 1,
total: 0,
pageArray: [],
scrollTop: 0,
scrollHeight: 0
},
onLoad: function (options) {
var that =this;
wx.getSystemInfo({
success: function (res) {
that.setData({ scrollHeight: res.windowHeight - 42 });
}
});
this.loadMainData();
},
loadMainData: function () {
this.tapMove();
//加载数据
},
onPullDownRefresh: function () {
this.prevPage();
},
setPages: function (count) {
var pages = new Array();
for (var i = 0; i < count; i++) {
pages.push(i + 1);
}
this.setData({ pageArray: pages });
},
prevPage: function () {
if (this.data.currentPage > 1) {
this.setData({ currentPage: this.data.currentPage - 1 });
this.loadMainData();
} else {
msg.showToast({ title: '当前是第一页', icon: 'info' });
}
},
nextPage: function () {
if (this.data.currentPage < (this.data.total / this.data.limit)) {
this.setData({ currentPage: this.data.currentPage + 1 });
this.tapMove();
this.loadMainData();
} else {
msg.showToast({ title: '当前是最后一页', icon: 'info' });
}
},
changePage: function (e) {
var page = parseInt(e.detail.value) + 1;
this.setData({ currentPage: page });
this.loadMainData();
},
tapMove: function (e) {
this.setData({
scrollTop:0
})
},
})
最近比较忙,就简单记录下
欢迎阅读本系列文章:微信小程序开发教程目录
微信小程序开发之scroll-view的更多相关文章
- 微信小程序开发之picker
一.绑定简单数组 通过bindChange控制index,使得当前选择值发生改变 示例1 data: { Data: ['A','B'], Index: 0, }, <picker class= ...
- 微信小程序开发之picker选择器组件用法
picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...
- 微信小程序开发之formId使用(模板消息)
基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...
- 微信小程序开发之https从无到有
本篇不讲什么是https,什么是SSL,什么是nginx 想了解这些的请绕道,相信有很多优秀的文章会告诉你. 本篇要讲的在最短的时间内,让你的网站从http升级到https. 开始教程前再说一句:ht ...
- 微信小程序开发之https服务器搭建三步曲
本篇文章主要讲述3个方面的内容,如下: 1.SSL证书的获取 2.服务器 Nginx SSL 证书的配置. 3.如何兼容80端口和443端口以及为什么要同时兼容这两个端口. 1.SSL证书的获取 ht ...
- 微信小程序开发之http到https的转化
小程序从公布到现在已经过去好几个月了,本来从小程序发布出来就准备抱着微信的大腿进行一波小程序开发的,但是由于公司项目小程序暂时不支持,也就只能一直搁浅.过年过来偶然和朋友谈起小程序,觉的工作再忙也得找 ...
- 微信小程序开发之IOS/Android兼容坑(持续更新)
一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...
- 微信小程序开发之tab导航栏
实现功能: 点击不同的tab导航,筛选数据 UI: js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"], //count ...
- 微信小程序开发之animation动画实现
1. 创建动画实例 wx.createAnimation(OBJECT) 创建一个动画实例animation.调用实例的方法来描述动画.最后通过动画实例的export方法导出动画数据传递给组件的ani ...
随机推荐
- day1 python基础知识
一:python发展 python2.6与python3.0区别: 源码不标准,混乱,重复代码过多 二:python所属类型 (1)编译型:一次性将程序全部编译成二进制 优点:运行速度快 缺点:不能跨 ...
- 实践作业3:白盒测试----我是如何写测试用例DAY6
一开始接到写白盒测试的任务,我感觉挺难的,因为感觉之前我所想到的都是黑盒测试啊,说到测试系统逻辑,感觉就有些神秘的样子没有思路了,那黑盒和白盒写的到底有啥区别.后来我请教了实验室的一个同学,他虽然还没 ...
- NS3网络仿真(10): 解析以太网帧
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载.但请保留作者信息 解析以太网帧的过程是构建以太网帧的逆过程,当我们接收到一个以太网帧时,仍然以上一节中的ARP帧为例 ...
- hdoj 1285 确定比赛名次 【拓扑排序】
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Principle of Computing (Python)学习笔记(7) DFS Search + Tic Tac Toe use MiniMax Stratedy
1. Trees Tree is a recursive structure. 1.1 math nodes https://class.coursera.org/principlescomputin ...
- 怎样解决jsp:include标签在包括html文件时遇到的乱码问题
在一个JSP页面中,经常须要包括还有一个文件,JSP为我们提供了jsp:include标签能够完毕这个功能,比方:<jsp:include page="some.jsp"&g ...
- 游戏AI(二)—行为树优化之
上一篇我们讲到了AI架构之一的行为树,本篇文章和下一篇文章我们将对行为树进行优化,在本篇文章中我们讲到的是内存优化 问题 上一篇中我们设计的行为树由于直接采用new进行动态内存分配,没有自己进行管理. ...
- node.js之路由,中间件,ge请求和post请求的参数
一.路由 1.什么是路由 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤 2.实现路由的方法 2.1.get请求访问网址时,做什么事 1 app.get(" ...
- Hibernate(或其它ORM)里的inverse用法详解,内容摘自Java web轻量级开发面试教程
本文来是从 java web轻量级开发面试教程从摘录的. Inverse的英文含义是反转,在Hibernate中用来决定是由哪方来维护两个业务实体类之间的关联关系,具体而言,就是由哪方去设置这个被外键 ...
- sed从入门到深入修炼目录
sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中 ...