微信小程序组件之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 相关文章推荐
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 Javascript
js 上传图片预览问题
Dec 06 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
一个js过滤空格的小函数
Oct 10 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
JavaScript原生数组Array常用方法
Apr 06 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
JS实现Cookie读、写、删除操作工具类示例
Aug 28 Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 24 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 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实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
vue prop传值类型检验方式
2020/07/30 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
国际贸易个人求职信范文
2014/01/04 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
国旗下演讲稿
2014/05/08 职场文书
小学生环保倡议书
2014/05/15 职场文书
国际商务专业求职信
2014/07/15 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
运动会观后感
2015/06/09 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技