微信小程序组件之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 相关文章推荐
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
Sep 22 Javascript
javascript用户注册提示效果的简单实例
Aug 17 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
js加减乘除丢失精度问题解决方法
May 16 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
javascript创建cookie、读取cookie
Mar 31 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
详解基于javascript实现的苹果系统底部菜单
Dec 02 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
详解小程序开发经验:多页面数据同步
May 18 Javascript
JavaScript实现五子棋小游戏
Oct 26 Javascript
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
php 购物车实例(申精)
2009/05/11 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
Python 专题三 字符串的基础知识
2017/03/19 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python短信轰炸的代码
2020/03/25 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
汽车运用工程毕业生自荐信
2013/10/29 职场文书
最新党员的自我评价分享
2013/11/04 职场文书
美德好少年主要事迹
2014/01/29 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
早会主持词
2014/03/17 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
第一书记观后感
2015/06/08 职场文书
我去timi了,一起去timi是什么意思?
2022/04/13 杂记