微信小程序组件之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 相关文章推荐
js对象数组按属性快速排序
Jan 31 Javascript
jQuery-Tools-overlay 使用介绍
Jul 14 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
Javascript实现计算个人所得税
May 10 Javascript
详解JavaScript编程中的数组结构
Oct 24 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
Jan 04 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
Jul 19 Javascript
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
简单聊聊TypeScript只读修饰符
Apr 06 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 获取本地IP代码
2013/06/23 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
DataFrame中的object转换成float的方法
2018/04/10 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
通过自学python能找到工作吗
2020/06/21 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
普师专业个人自荐信范文
2013/11/26 职场文书
办公室内勤岗位职责范本
2013/12/09 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
党员自我对照检查材料
2014/08/19 职场文书
结婚保证书
2015/01/16 职场文书
国家助学金感谢信
2015/01/21 职场文书
学校运动会加油词
2015/07/18 职场文书
团结友爱主题班会
2015/08/13 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers