scroll-view容器效果  官方文档:传送门

  

  1. scroll-view  可滚动视图区域
  2.  
  3. scroll-x Boolean false 允许横向滚动
  4. scroll-y Boolean false 允许纵向滚动
  5. upper-threshold Number 50 距顶部/左边多远时(单位px),触发 scrolltoupper 事件
  6. lower-threshold Number 50 距底部/右边多远时(单位px),触发 scrolltolower 事件
  7. scroll-top Number 设置竖向滚动条位置
  8. scroll-left Number 设置横向滚动条位置
  9. scroll-into-view String 值应为某子元素idid不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
  10. scroll-with-animation Boolean false 在设置滚动条位置时使用动画过渡
  11. enable-back-to-top Boolean false iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向
  12. bindscrolltoupper EventHandle 滚动到顶部/左边,会触发 scrolltoupper 事件
  13. bindscrolltolower EventHandle 滚动到底部/右边,会触发 scrolltolower 事件
  14. bindscroll EventHandle 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}

官方文档:scroll-view

 滑动滚动条,下方文本会显示滚动条的状态(到达最上方/滚动中/到达最下方),控制台输出滚动条状态

    

程序结构

  

  1. Page({
  2.  
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. texts:"滚动条状态"
  8. },
  9.  
  10. /**
  11. * 生命周期函数--监听页面加载
  12. */
  13. onLoad: function(options) {
  14.  
  15. },
  16.  
  17. /**
  18. * 生命周期函数--监听页面初次渲染完成
  19. */
  20. onReady: function() {
  21.  
  22. },
  23.  
  24. /**
  25. * 生命周期函数--监听页面显示
  26. */
  27. onShow: function() {
  28.  
  29. },
  30.  
  31. /**
  32. * 生命周期函数--监听页面隐藏
  33. */
  34. onHide: function() {
  35.  
  36. },
  37.  
  38. /**
  39. * 生命周期函数--监听页面卸载
  40. */
  41. onUnload: function() {
  42.  
  43. },
  44.  
  45. /**
  46. * 页面相关事件处理函数--监听用户下拉动作
  47. */
  48. onPullDownRefresh: function() {
  49.  
  50. },
  51.  
  52. /**
  53. * 页面上拉触底事件的处理函数
  54. */
  55. onReachBottom: function() {
  56.  
  57. },
  58.  
  59. /**
  60. * 用户点击右上角分享
  61. */
  62. onShareAppMessage: function() {
  63.  
  64. },
  65.  
  66. upper: function(event) {
  67. this.setData({ texts: "滚动条到 最上方 了"});
  68. },
  69.  
  70. lower: function(event) {
  71. this.setData({ texts: "滚动条到 最下方 了" });
  72. },
  73.  
  74. sroll: function(event) {
  75. this.setData({ texts: "滚动条 滚动 了" });
  76. console.log("我在滚动");
  77. console.log(event);
  78. }
  79. })

test.js

  1. Gary 微信小程序
  2. <scroll-view style="height:200px;" scroll-y="true"
  3. bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="sroll">
  4. <view id="green" class="scroll-view-item bc_green"></view>
  5. <view id="red" class="scroll-view-item bc_red"></view>
  6. <view id="yellow" class="scroll-view-item bc_yellow"></view>
  7. <view id="blue" class="scroll-view-item bc_blue"></view>
  8. </scroll-view>
  9. <text>{{texts}}</text>

test.wxml

  1. /* pages/test/test.wxss */
  2. .scroll-view{
  3. white-space: nowrap;
  4. }
  5.  
  6. .scroll-view-item{
  7. height:200px;
  8. }
  9.  
  10. .bc_green{
  11. background-color: green;
  12. }
  13.  
  14. .bc_red{
  15. background-color: red;
  16. }
  17.  
  18. .bc_yellow{
  19. background-color: yellow;
  20. }
  21.  
  22. .bc_blue{
  23. background-color: blue;
  24. }

test.wxss

  1. {
  2. "pages":[
  3. "pages/test/test",
  4. "pages/index/index",
  5. "pages/logs/logs"
  6. ],
  7. "window":{
  8. "backgroundTextStyle":"light",
  9. "navigationBarBackgroundColor": "#fff",
  10. "navigationBarTitleText": "WeChat",
  11. "navigationBarTextStyle":"black"
  12. }
  13. }

app.json

实现过程

  添加滚动容器属性

  1. scroll-view 容器
  2. style="height:200px;" 设置容器高度
  3. scroll-y="true" 设置容器为纵向
  4. bindscrolltoupper="upper"
  5. 滚动到顶部/左边,会触发 scrolltoupper 事件
  6. bindscrolltolower="lower"
  7. 滚动到底部/右边,会触发 scrolltolower 事件
  8. bindscroll="sroll"
  9. 滚动时触发,会触发sroll事件

  添加视图进入可滚动区域

  1. <view id="green" class="scroll-view-item bc_green"></view>
  2. <view id="red" class="scroll-view-item bc_red"></view>
  3. <view id="yellow" class="scroll-view-item bc_yellow"></view>
  4. <view id="blue" class="scroll-view-item bc_blue"></view>

  添加绑定滚动条滚动时的事件

  1. upper: function(event) {
  2. this.setData({ texts: "滚动条到 最上方 了"});
  3. },
  4.  
  5. lower: function(event) {
  6. this.setData({ texts: "滚动条到 最下方 了" });
  7. },
  8.  
  9. sroll: function(event) {
  10. this.setData({ texts: "滚动条 滚动 了" });
  11. console.log("我在滚动");
  12. console.log(event);
  13. },

  左右方向滚动条改变为上下方向方向滚动条只需要改变scroll-x/scroll-y属性

  1. .bc_green{
  2. background-color: green;
  3. }
  4.  
  5. .bc_red{
  6. background-color: red;
  7. }
  8.  
  9. .bc_yellow{
  10. background-color: yellow;
  11. }
  12.  
  13. .bc_blue{
  14. background-color: blue;
  15. }

  wxss同css样式,将颜色作为背景添加到View中,将View添加到滚动视图中

点击"按钮"改变滚动条位置效果

  1. var order = ['red', 'yellow', 'blue', 'green', 'red']
  2. Page({
  3. data: {
  4. toView: 'red',
  5. scrollTop: 100
  6. },
  7. upper: function (e) {
  8. console.log(e)
  9. },
  10. lower: function (e) {
  11. console.log(e)
  12. },
  13. scroll: function (e) {
  14. console.log(e)
  15. },
  16. tap: function (e) {
  17. for (var i = 0; i < order.length; ++i) {
  18. if (order[i] === this.data.toView) {
  19. this.setData({
  20. toView: order[i + 1]
  21. })
  22. break
  23. }
  24. }
  25. },
  26. tapMove: function (e) {
  27. this.setData({
  28. scrollTop: this.data.scrollTop + 10
  29. })
  30. }
  31. })

test.js

  1. Gary 微信小程序
  2. <scroll-view style="height:200px;" scroll-y="true"
  3. bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="sroll"
  4. scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">>
  5. <view id="green" class="scroll-view-item bc_green"></view>
  6. <view id="red" class="scroll-view-item bc_red"></view>
  7. <view id="yellow" class="scroll-view-item bc_yellow"></view>
  8. <view id="blue" class="scroll-view-item bc_blue"></view>
  9. </scroll-view>
  10.  
  11. <button size="mini" bindtap="tap">click me to scroll into view </button>

test.wxml

  1. /* pages/test/test.wxss */
  2. .scroll-view{
  3. white-space: nowrap;
  4. }
  5.  
  6. .scroll-view-item{
  7. height:200px;
  8. }
  9.  
  10. .bc_green{
  11. background-color: green;
  12. }
  13.  
  14. .bc_red{
  15. background-color: red;
  16. }
  17.  
  18. .bc_yellow{
  19. background-color: yellow;
  20. }
  21.  
  22. .bc_blue{
  23. background-color: blue;
  24. }
  25.  
  26. test.wxss

test.wxss

  1. {
  2. "pages":[
  3. "pages/test/test",
  4. "pages/index/index",
  5. "pages/logs/logs"
  6. ],
  7. "window":{
  8. "backgroundTextStyle":"light",
  9. "navigationBarBackgroundColor": "#fff",
  10. "navigationBarTitleText": "WeChat",
  11. "navigationBarTextStyle":"black"
  12. }
  13. }

app.json

实现过程

  设置滚动条要滚动到的View视图

  1. tap: function(e) {
  2. for (var i = 0; i < order.length; ++i) {
  3. if (order[i] === this.data.toView) {
  4. this.setData({
  5. toView: order[i + 1]
  6. })
  7. break
  8. }
  9. }
  10. },

   改变滚动条位置,显示出不同View视图

  1. tapMove: function (e) {
  2. this.setData({
  3. scrollTop: this.data.scrollTop + 10
  4. })
  5. }

官方文档  传送门

  1. scroll-top Number 设置竖向滚动条位置
  2. scroll-left Number 设置横向滚动条位置

微信小程序_(视图)简单的scroll-view容器的更多相关文章

  1. 微信小程序_(视图)简单的swiper容器

    swiper容器效果 官方文档:传送门 swiper容器可实现简单的轮播图效果 结构程序 Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 ...

  2. 微信小程序_(map)简单的小地图

    map地图效果 官方文档:传送门 Page({ data: { markers: [{ iconPath: "/resources/others.png", id: 0, lati ...

  3. 微信小程序_(案例)简单中国天气网首页

    Demo:简单中国天气网首页 Page({ data:{ name:"CynicalGary", temp:"4", low:"-1°C", ...

  4. 微信小程序_(校园视)开发视频的展示页_下

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  5. 微信小程序_(校园视)开发用户注册登陆

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  6. 微信小程序 wxs的简单应用

    Demo地址:微信小程序wxs的简单应用 案例分析 张三.李四.王五,各自分别都有数量不等的车,现在需要列表显示名字及他们拥有车的数量, list数据结构如下,当我们使用wx:for进行显示时,发现个 ...

  7. 微信小程序_(校园视)开发上传视频业务

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  8. 微信小程序_(校园视)开发视频的展示页_上

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  9. 微信小程序_简单组件使用与数据绑定

    简单的数据传值 官方文档:传送门 点击"按钮"测试后,按钮文本改变,下方text文本改变,通过console.log()在输出台中打印按钮文本信息 程序结构 Page({ //页面 ...

随机推荐

  1. python 操作mongodb 文件相关

    https://api.mongodb.com/python/current/tutorial.html# 文档地址 from pymongo import MongoClientfrom gridf ...

  2. 第二篇 jQuery 选择器

    2-1,2  table隔行变色 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  3. eclipse 保存web.xml 和 loading description from 问题的解决

    Eclipse 版本为 2019-06 (4.12.0) 发现开启的时候一直有loading description from ***  ,这个loading description 是web项目加载 ...

  4. iis 8.0 HTTP 错误 404.3 server 2012

    最近在学习WCF,发现将网站WCF服务放到IIS上时不能正常运行,从网上搜了一下: 解决方法,以管理员身份进入命令行模式,运行: "%windir%\Microsoft.NET\Framew ...

  5. postgresql 服务无法启动,日志中报如下错误

    1.postgresql 服务无法启动,日志中报如下错误,磁盘空间足够. 无法找到来自源 PostgreSQL 的事件 ID 0 的描述.本地计算机上未安装引发此事件的组件,或者安装已损坏.可以安装或 ...

  6. 06 Python网络爬虫requets模块高级用法

    一. 基于requests模块的cookie操作 - cookie概念: 当用户通过浏览器访问一个域名的时候,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就 ...

  7. 北京化妆时尚气息自适应CSS例子

    三里屯太古广场——北京化妆时尚气息的先锋阵地! “乐色起义”创意化妆设计大赛——国内最具创意的公益设计大赛! CNature——国内最具个性的时尚环保公益组织! 一个多么奇妙的组合!就在2010年的这 ...

  8. Zookeeper安装和运行

    安装环境: CentOS 7   内存1GB JDK版本:1.8.0_112 为JDK配置如下环境变量: 编辑/etc/profile.d/jdk.sh JAVA_HOME=/usr/local/jd ...

  9. simhash算法:海量千万级的数据去重

    simhash算法:海量千万级的数据去重 simhash算法及原理参考: 简单易懂讲解simhash算法 hash 哈希:https://blog.csdn.net/le_le_name/articl ...

  10. Linux下make cmake 编译等啥意思?

    写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...