scroll-view 可滚动视图容器

原型:

 <scroll-view
scroll-x="[Boolean]"
scroll-y="[Boolean]"
upper-threshold="[Number]"
lower-threshold="[Number]"
scroll-top="[Number]"
scroll-left="[Number]"
scroll-into-view="[String(其子元素ID名称字符串)]"
scroll-with-animation="[Boolean]"
enable-back-to-top="[Boolean]"
bindscrolltoupper="[EventHandle]"
bindscrolltolower="[EventHandle]"
bindscroll="[EventHandle]"
>
</scroll-view>

属性:

属性 是否必需 类型 默认值 说明
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名称。滚动到该对象处使其显示。
scroll-with-animation Boolean false 值为true时,滚动时使用动画过渡(通过js控制属性scroll-left值时会看到效果,手动滚动无效果)。
enable-back-to-top Boolean false iOS点击顶部状态栏(位于标题栏上方)、安卓双击标题栏时,滚动条返回顶部,只支持竖向
bindscrolltoupper EventHandle   滚动到顶部/左边时触发
bindscrolltolower EventHandle   滚动到底部/右边时触发
bindscroll EventHandle   滚动时触发

注意:

1) 请勿在 scroll-view 中使用 textarea、map、canvas、video 组件
2) scroll-into-view 的优先级高于 scroll-top
3) 在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh
4) 若要使用下拉刷新,请使用页面的滚动,而不是 scroll-view ,这样也能通过点击顶部状态栏回到页面顶部

 当开启了动画滚动(scroll-with-animation),且js代码中同时更改scroll-x与scroll-y时,只有最后设置的有效,测试代码如下:

index.wxml

 <view>属性: scroll-top、scroll-left演示</view>
<scroll-view style="width:200px;height:200px;background:#f7f7f7;"
scroll-y
scroll-x
scroll-with-animation
scroll-left="{{left}}"
scroll-top="{{top}}"
scroll-into-view="{{showId}}"
enable-back-to-top="{{toTop}}"
>
<view style="width:300px;">项目1</view>
<view>项目2</view>
<view>项目3</view>
<view>项目4</view>
<view>项目5</view>
<view>项目6</view>
<view>项目7</view>
<view>项目8</view>
<view>项目9</view>
<view>项目10</view>
<view>项目11</view>
<view>项目12</view>
<view>项目13</view>
<view>项目14</view>
<view id="showIt" style="color:#f00">项目15</view>
<view>项目16</view>
<view>项目17</view>
<view>项目18</view>
<view>项目19</view>
<view>项目20</view>
<view>项目21</view>
<view>项目22</view>
<view>项目23</view>
<view>项目24</view>
<view>项目25</view>
</scroll-view> <button bind:tap="scrollToPos" >点我滚动到距左边100像素,距顶部100像素</button>
<button bind:tap="scrollToItem" >点我使"项目15"显示出来</button>

index,js

 //index.js
Page({
data: {
left: 0,
top: 0,
showId : '',
animation: true,
toTop: true
}, //事件处理函数
scrollToPos: function(){
this.setData({ // 这里同时更改scroll-x与scroll-y,只有最后一项生效(top),因为第二个top动画阻止了第一个left的动画。除非top已在100位置时,left动画才会生效(即第二次点击时左侧会到100像素)
left: 100,
top: 100
});
}, scrollToItem: function(){
this.setData({
showId: 'showIt'
});
} })

【scroll-view】 可滚动视图组件说明的更多相关文章

  1. 【view】 视图组件说明

    view 是视图容器,可用于包裹其它组件或文本内容. 原型: <view hover-class="[String]" hover-stop-propagation=&quo ...

  2. 微信小程序组件解读和分析:二、scroll-view可滚动视图区域

    scroll-view可滚动视图区域组件说明: 可滚动视图区域. 组件用法:纵向滚动用法 Tip: 使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height,否则无法滚动. 当滚动到顶部 ...

  3. ASP.NET Core MVC 之视图组件(View Component)

    1.视图组件介绍 视图组件是 ASP.NET Core MVC 的新特性,类似于局部视图,但它更强大.视图组件不使用模型绑定,并且仅依赖于调用它时所提供的数据. 视图组件特点: 呈块状,而不是整个响应 ...

  4. 小程序开发基础-scroll-view 可滚动视图区域

    小编 / 达叔小生 小程序开发基础-scroll-view 可滚动视图区域 这里只展示纵向滚动,横向同理就不用说明了,可自己尝试,横向滚动属性为scroll-x,把纵向滚动改为横向滚动即可. scro ...

  5. NGUI系列教程十(Scroll View实现触摸滚动相册效果)

    NGUI中提供了两种Scroll View 一种是通过手指或鼠标滑动视图时移动平面物体,另一种则是直接移动摄像机,他们各有各的好处.但是NGUI提供的Scroll View很难实现类似Android ...

  6. Scroll View 深入

    转载自:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法 ...

  7. 全面理解iOS开发中的Scroll View[转]

    from:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方 ...

  8. ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件

    作者: Rick Anderson 翻译: 娄宇(Lyrics) 校对: 高嵩 章节: 介绍视图组件 创建视图组件 调用视图组件 演练:创建一个简单的视图组件 附加的资源 查看或下载示例代码 介绍视图 ...

  9. asp.net core视图组件(ViewComponent)简单使用

    一.组成: 一个视图组件包括两个部分,派生自ViewComponent的类及其返回结果.类似控制器. 定义一个视图组件,如控制器一样,必须是公开,非嵌套,非抽象的类.一般,视图组件名称为类名去掉&qu ...

随机推荐

  1. 解决pycharm无法导入本地包的问题

    在用python写爬虫程序时,import 行无法通过,具体情况如下: pycharm运行程序后,程序pass了,但是出现了警告,如下图所示: 这是由于该程序不在根目录下,无法导入本地包,解决办法如下 ...

  2. 转-四种方案解决ScrollView嵌套ListView问题

    本人网上用的ID是泡面或安卓泡面,学习一年半之前开始从事Android应用开发,这是我写的第一篇Android技术文章,转载请注明出处和作者,有写的不好的地方还请帮忙指出,谢谢. 在工作中,曾多次碰到 ...

  3. HDU 1024 Max Sum Plus Plus(m个子段的最大子段和)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/ ...

  4. IOS9中使用NSURLConection发送异步网络请求

    IOS9中使用NSURLConection发送异步网络请求 在ios9中,NSURLConection的sendSync..和sendAsync已经过时.被NSURLSession代替. 以下蓝色部分 ...

  5. Many-to-many relationships in EF Core 2.0 – Part 3: Hiding as ICollection

    In the previous post we ended up with entities that hide the join entity from the public surface. Ho ...

  6. 三层架构,Struts2,SpringMVC实现原理图

    三层架构,Struts2,SpringMVC实现原理图 三层架构实现原理 Struts2实现原理 SpringMVC实现原理

  7. js的单例

     对于 JS 来说,巨大的灵活性使得其可以有多种方式实现单例模式,使用闭包方式来模拟私有数据,按照其思路可得: var single = (function(){ var unique; functi ...

  8. 【Flume】数据采集引擎Flume

    一.概述 flume是一个高效的.可靠的.可用的分布式海量日志数据收集.聚合.传输的工具. Flume is a distributed, reliable, and available servic ...

  9. Lavavel5.5源代码 - RedisQueue是怎么实现

    队列的基本功能: 1.立即执行:yes 2.延迟执行:yes 3.保证至少执行一次:yes 4.必须执行且最多执行一次:no 用到的数据结构: list.Sorted sets 延迟执行的机制: 1. ...

  10. Delphi采用接口实现DLL调用

    Delphi使用模块化开发,可以采用DLL或者BPL,两者的区别是BPL只能被同版本的Delphi使用,DLL可以被不同版本和不同开发工具的开发的软件调用. 因此我们的软件大多使用Delphi作为界面 ...