微信小程序组件解读和分析:二、scroll-view可滚动视图区域
可滚动视图区域。
组件用法:纵向滚动用法
Tip:
- 使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height,否则无法滚动。
- 当滚动到顶部时会触发bindscrolltoupper事件(具体可留意GIF输出)
- 当滚动到底部时会触发bindscrolltolower事件(具体可留意GIF输出)

下面是WXML代码:
01
02
03
04
05
06
07
08
09
10
|
< scroll-view scroll-y = "true" style = "height: 200px;" bindscrolltoupper = "upper" bindscrolltolower = "lower" bindscroll = "scroll" scroll-into-view = "{{toView}}" scroll-top = "{{scrollTop}}" > < view id = "green" class = "scroll-view-item bc_green" ></ view > < view id = "red" class = "scroll-view-item bc_red" ></ view > < view id = "yellow" class = "scroll-view-item bc_yellow" ></ view > < view id = "blue" class = "scroll-view-item bc_blue" ></ view > </ scroll-view > < view class = "btn-area" > < button size = "mini" bindtap = "tap" >click me to scroll into view </ button > < button size = "mini" bindtap = "tapMove" >click me to scroll</ button > </ view > |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
var order = [ 'red' , 'yellow' , 'blue' , 'green' , 'red' ] Page({ data: { toView: 'green' , scrollTop: 100, scrollLeft: 0 }, //滚动条滚到顶部的时候触发 upper: function (e) { console.log(e) }, //滚动条滚到底部的时候触发 lower: function (e) { console.log(e) }, //滚动条滚动后触发 scroll: function (e) { console.log(e) }, //点击按钮切换到下一个view tap: function (e) { for ( var i = 0; i < order.length; ++i) { if (order === this .data.toView) { this .setData({ toView: order[i + 1] }) break } } }, //通过设置滚动条位置实现画面滚动 tapMove: function (e) { this .setData({ scrollTop: this .data.scrollTop + 10 }) } }) |
01
02
03
04
05
06
07
08
09
10
11
|
.scroll-view_H{ white-space : nowrap ; } .scroll-view-item{ height : 200px ; } .scroll-view-item_H{ display : inline- block ; width : 100% ; height : 200px ; } |
- 横向滚动无法使用scroll-into-view属性。
- 当滚动到最左边时会触发bindscrolltoupper事件(具体可留意GIF输出)
- 当滚动到最右边时会触发bindscrolltolower事件(具体可留意GIF输出)

1
2
3
4
5
6
|
< scroll-view class = "scroll-view_H" scroll-x = "true" style = "width: 100%" bindscrolltoupper = "upper" bindscrolltolower = "lower" bindscroll = "scroll" scroll-left = "{{scrollLeft}}" > < view id = "green" class = "scroll-view-item_H bc_green" ></ view > < view id = "red" class = "scroll-view-item_H bc_red" ></ view > < view id = "yellow" class = "scroll-view-item_H bc_yellow" ></ view > < view id = "blue" class = "scroll-view-item_H bc_blue" ></ view > </ scroll-view > |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
var order = [ 'red' , 'yellow' , 'blue' , 'green' , 'red' ] Page({ data: { toView: 'green' , scrollTop: 100, scrollLeft: 0 }, //滚动条滚到顶部的时候触发 upper: function (e) { console.log(e) }, //滚动条滚到底部的时候触发 lower: function (e) { console.log(e) }, //滚动条滚动后触发 scroll: function (e) { console.log(e) }, //点击按钮切换到下一个view tap: function (e) { for ( var i = 0; i < order.length; ++i) { if (order === this .data.toView) { this .setData({ toView: order[i + 1] }) break } } }, //通过设置滚动条位置实现画面滚动 tapMove: function (e) { this .setData({ scrollLeft: this .data.scrollLeft + 10 }) } }) |
01
02
03
04
05
06
07
08
09
10
11
|
.scroll-view_H{ white-space : nowrap ; } .scroll-view-item{ height : 200px ; } .scroll-view-item_H{ display : inline- block ; width : 100% ; height : 200px ; } |
属性
|
类型
|
默认值
|
描述
|
scroll-x
|
Boolean
|
false
|
允许横向滚动
|
scroll-y
|
Boolean
|
false
|
允许纵向滚动
|
upper-threshold
|
Number
|
50
|
距顶部/左边多远时(单位px),触发 scrolltoupper 事件
|
lower-threshold
|
Number
|
50
|
距底部/右边多远时(单位px),触发 scrolltolower 事件
|
scroll-top
|
Number
|
设置竖向滚动条位置
|
|
scroll-left
|
Number
|
设置横向滚动条位置
|
|
scroll-into-view
|
String
|
值应为某子元素id,则滚动到该元素,元素顶部对齐滚动区域顶部
|
|
bindscrolltoupper
|
EventHandle
|
滚动到顶部/左边,会触发 scrolltoupper 事件
|
|
bindscrolltolower
|
EventHandle
|
滚动到底部/右边,会触发 scrolltolower 事件
|
|
bindscroll
|
EventHandle
|
滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
|
微信小程序组件解读和分析:二、scroll-view可滚动视图区域的更多相关文章
- 微信小程序组件解读和分析:六、progress进度条
progress进度条组件说明: 进度条,就是表示事情当前完成到什么地步了,可以让用户视觉上感知事情的执行.progress进度条是微信小程序的组件,和HTML5的进度条progress类似. pro ...
- 微信小程序组件解读和分析:五、text文本
text文本组件说明: text 文本就是微信小程序中显示出来的文本. text文本组件的示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 1 2 3 4 <v ...
- 微信小程序组件解读和分析:四、icon图标
icon图标组件说明: icon是一种图标格式,用于系统图标.软件图标等,这种图标扩展名为.icon..ico.常见的软件或windows桌面上的那些图标一般都是ICON格式的.在应用上面很多地方 ...
- 微信小程序组件解读和分析:十二、picker滚动选择器
picker滚动选择器组件说明: picker: 滚动选择器,现支持三种选择器,通过mode属性来区分, 分别是普通选择器(mode = selector),时间选择器(mode = time),日期 ...
- 微信小程序组件解读和分析:十四、slider滑动选择器
slider滑动选择器组件说明: 滑动选择器. slider滑动选择器示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 ...
- 微信小程序组件解读和分析:十、input输入框
input输入框组件说明: 本文介绍input 输入框的各种参数及特性. input输入框示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 01 02 03 04 0 ...
- 微信小程序组件解读和分析:八、checkbox复选项
checkbox复选项组件说明: checkbox是小程序表单组件中的一个组件,作用是在表单中引导用户做出选择. 要使用checkbox组件,还需要在同组中所有的checkbox标签外使用checkb ...
- 微信小程序组件解读和分析:一、view(视图容器 )
view组件说明: 视图容器 跟HTML代码中的DIV一样,可以包裹其他的组件,也可以被包裹在其他的组件内部.用起来比较自由随意,没有固定的结构. view组件的用法: 示例项目的wxml ...
- 微信小程序组件解读和分析:十五、switch 开关选择器
switch 开关选择器组件说明: switch,开关选择器.只能选择或者不选.这种属于表单控件或者查询条件控件. switch 开关选择器示例代码运行效果如下: 下面是WXML代码: [XML] 纯 ...
随机推荐
- 百度语音识别API初探
近期想做个东西把大段对话转成文字.用语音输入法太慢,所以想到看有没有现成的API,网上一搜,基本就是百度和讯飞. 这里先看百度的 笔者使用的是Java版本号的 下载地址:http://bos.nj.b ...
- 在GNS3中模拟交换机和PC
一.目标:使用ios c3640交换模块,模拟交换机 二.使用VPCS模拟PC机 VPCS模拟PC机软件下载: http://down.51cto.com/data/195524 步骤1.启动GN ...
- 011 router backup
Router>en Router#config t Enter configuration commands, one per line. End with CNTL/Z. Router(co ...
- apache ab 測试 apr_socket_connect(): 因为目标机器积极拒绝 无法连接
遇到这样的情况通常是你开的并行数量太多了... 比如:ab -c 1000 -n 10000 http://localhost/index.html 如此大的请求就会挂掉,只是还是有补救措施的,能够通 ...
- hdu4057 Rescue the Rabbit(AC自己主动机+DP)
Rescue the Rabbit Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- [办公自动化]名师推荐-excelpro刘万祥 图表之道作者
最早认识刘万祥老师是通过孙小小老师的博客.后来发现制作图表,还真需要和PPT类似,花些时间琢磨一下. 首先你要了解图表的类型,然后需要了解制作方法,最后就是如何美化以及结合PPT等工具帮你分析数据. ...
- [计算机联网故障]WIFI接入正常,但是上网不正常(两种情况)
今天同事拿来一个笔记本,说是连接WIFI都正常,但是就是无法上网.换了单位的wifi和他自己的手机共享wifi都是无法上网. 我首先检查了一下IP地址设置,看是否指定了IP.没有. 然后取消IPv6. ...
- ZOJ Design the city LCA转RMQ
Design the city Time Limit: 1 Second Memory Limit: 32768 KB Cerror is the mayor of city HangZho ...
- ReSharper warns: “Static field in generic type”
http://stackoverflow.com/questions/9647641/resharper-warns-static-field-in-generic-type It's fine to ...
- springcloud 向Eureka中注册服务异常java.net.ConnectException: Connection refused: connect
异常如下: 通过debug发现,服务端的url地址仍然是默认的http://localhost:8761/eureka/apps/,也就是说yml文件中配置没有生效,检查后发现yml中相关配置多写了一 ...