微信小程序组件之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数字格式化通用类 accounting.js使用
Aug 24 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
鼠标移动到图片名上,显示图片的简单实例
Jul 14 Javascript
js格式化时间小结
Nov 03 Javascript
jQuery实现的进度条效果
Jul 15 Javascript
javascript数组随机排序实例分析
Jul 22 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
Jan 19 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
angularjs实现简单的购物车功能
Sep 21 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
JS 数组随机洗牌的实例代码
Sep 12 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
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
php导出excel格式数据问题
2014/03/11 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
javascript操作数组详解
2014/12/17 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
python将字典内容存入mysql实例代码
2018/01/18 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python使用python-docx读写word文档
2019/08/26 Python
python datetime中strptime用法详解
2019/08/29 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
倩碧英国官网:Clinique英国
2018/08/10 全球购物
市场部业务员岗位职责
2014/04/02 职场文书
房地产开发项目建议书
2014/05/16 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
2015年党小组工作总结
2015/05/26 职场文书
《静夜思》教学反思
2016/02/17 职场文书
git stash(储藏)的用法总结
2022/06/25 Servers