微信小程序组件之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 相关文章推荐
JavaScript Konami Code 实现代码
Jul 29 Javascript
javascript高级学习笔记整理
Aug 14 Javascript
使用javascript实现雪花飘落的效果
Jan 13 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
Feb 13 Javascript
jquery自定义表格样式
Nov 23 Javascript
理解javascript正则表达式
Mar 08 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
angular的输入和输出的使用方法
Sep 22 Javascript
详解vue组件中使用路由方法
Feb 12 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
AJAX检测用户名是否存在的方法
Mar 24 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
解析strtr函数的效率问题
2013/06/26 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
python opencv实现简易画图板
2020/08/27 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
物流司机岗位职责
2013/12/28 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
银行委托书范本
2014/09/28 职场文书
史上最牛的辞职信
2015/02/28 职场文书
公司地址变更通知
2015/04/25 职场文书
律师催款函范文
2015/06/24 职场文书