微信小程序组件之srcoll-view的详解


Posted in Javascript onOctober 19, 2017

微信小程序组件之srcoll-view的详解

今天记录一下scroll-view学习中遇到的问题及解决办法,希望能对其他同学有所帮助。

首先展示一下想达到的效果。↓ vertical scroll实现上下滚动,horizontal实现左右滚动。

微信小程序组件之srcoll-view的详解

先附上wxml的代码。

<view class="container"> 
 <view> 
  <text>vertical scroll</text> 
  <scroll-view scroll-y class="scroll-view-y" scroll-top="{{scrollTop}}"> 
   <view id="green" class="scroll-y-item bg_green"></view> 
   <view id="red" class="scroll-y-item bg_red"></view> 
   <view id="blue" class="scroll-y-item bg_blue"></view> 
   <view id="yellow" class="scroll-y-item bg_yellow"></view> 
  </scroll-view> 
 </view> 
 
 <view> 
  <text>horizontal scroll</text> 
  <scroll-view scroll-x class="scroll-view-x" style="width:100%"> 
   <view class="scroll-view-x"> 
    <view class="scroll-x-item bg_green"></view> 
    <view class="scroll-x-item bg_red"></view> 
    <view class="scroll-x-item bg_blue"></view> 
    <view class="scroll-x-item bg_yellow"></view> 
   </view> 
  </scroll-view> 
 </view> 
</view>

1.整个界面由一个view包装起来,该view的class为创建quickStart时自带,可根据需要自己调整。之后,两个view各包装一个scrollview及其上面的text文本。

2.第一个scroll-view需竖直滚动,为其设置scroll-y="{{true}}"(或者直接写scroll-y)。该scrollview的class为“scroll-view-y”,之后会附上代码。scroll-top属性设置滚动条的初始位置,scrollTop在js文件的data中声明赋值(不需要可去掉)。

3.scrollview中四个不用颜色的view,除颜色外其他属性相同。

为竖直scrollview的wxss代码

.scroll-view-y { 
 height: 200px; 
 width: 100%; 
} 
 
.scroll-y-item { 
 height: 70px; 
 width: 100%; 
}

4.水平方向的scrollview与竖直方向基本类似,着重说一下区别。

(1) 竖直方向的scrollview直接包住4个不同颜色的view,水平方向需要先用view包住各颜色块,这是为了保证各颜色块水平排布。

(2) wxss文件    

为水平scrollview的wxss代码,scroll-view-x为水平滑块的属性,scroll-x-item为水平滑块中各颜色块的属性。

.scroll-view-x { 
 width: 300px; 
 height: 100px; 
 display: flex; 
 overflow: scroll; 
} 
 
.scroll-x-item { 
 width: 95px; 
 height: 100%; 
 display: inline-table; 
}

可以看到:

①水平滑块多了两个属性,display和overflow。display设置为flex弹性伸缩显示,overflow设置当子布局超出父容器时scroll展示。

②颜色块display属性设置为 inline-table,这个很重要!!!最开始没有写这个属性,很久都无法实现scrollview的水平滑动。在我不断的尝试下,终于试出来了,很开心!吐舌头

附上微信官方属性说明↓

属性名 类型 默认值 说明
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(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
scroll-with-animation Boolean false 在设置滚动条位置时使用动画过渡
enable-back-to-top Boolean false iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向
bindscrolltoupper EventHandle   滚动到顶部/左边,会触发 scrolltoupper 事件
bindscrolltolower EventHandle   滚动到底部/右边,会触发 scrolltolower 事件
bindscroll EventHandle   滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 

Javascript 相关文章推荐
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
jQuery学习笔记之jQuery动画效果
Sep 09 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 Javascript
JS返回顶部实例代码
Aug 09 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
JS实现点击循环切换显示内容的方法
Oct 19 #Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 #Javascript
vue-cli如何引入bootstrap工具的方法
Oct 19 #Javascript
JS开发中基本数据类型具体有哪几种
Oct 19 #Javascript
微信小程序支付之c#后台实现方法
Oct 19 #Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 #Javascript
bootstrap日期插件daterangepicker使用详解
Oct 19 #Javascript
You might like
5.PHP的其他功能
2006/10/09 PHP
PHP输入流php://input介绍
2012/09/18 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
python装饰器的特性原理详解
2019/12/25 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
工程部主管岗位职责
2013/11/17 职场文书
十一酒店活动方案
2014/02/20 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
担保贷款承诺书
2015/04/30 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
python 如何做一个识别率百分百的OCR
2021/05/29 Python