微信小程序组件之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 相关文章推荐
如何做到打开一个页面,过几分钟自动转到另一页面
Apr 20 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
Javascript堆排序算法详解
Dec 03 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
JS打印组合功能
Aug 04 Javascript
require.js+vue开发微信上传图片组件
Oct 27 Javascript
JS实现的简易拖放效果示例
Dec 29 Javascript
JS+canvas动态绘制饼图的方法示例
Sep 12 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
Dec 06 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 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中session过期时间设置及session回收机制介绍
2014/05/05 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
js查找父节点的简单方法
2008/06/28 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
Python闭包实现计数器的方法
2015/05/05 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
社团成立邀请函
2014/01/08 职场文书
财务总监管理职责范文
2014/03/09 职场文书
博士生导师推荐信
2014/07/08 职场文书
win10下go mod配置方式
2021/04/25 Golang
python实现黄金分割法的示例代码
2021/04/28 Python