微信小程序之scroll-view可滚动视图区域

微信小程序之scroll-view可滚动视图区域,第1张

组件说明:

可滚动视图渗扮区域。

组件用法:

纵向滚动用法

Tip:

使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height,否则无法滚动。

当滚动到顶部时会触发bindscrolltoupper事件(具体可留意GIF输出)

当滚动到底部时会触发bindscrolltolower事件(具体可留意GIF输出)

效果图:

wxml

<scroll-view scroll-y="true" style="height: 200px" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">

    <view id="green" class="scroll-view-item bc_green"></view>

    <view id="red"  class="scroll-view-item bc_red"></view>

    <view id="yellow" class="scroll-view-item bc_yellow"></view>

    <view id="blue" class="scroll-view-item bc_blue"></view>

</scroll-view>

<view class="btn-area">

      <button size="mini" bindtap="tap">click me to scroll into view </button>

      <button size="mini" bindtap="tapMove">click me to scroll</button>

</view>

js

var order = ['red', 'yellow', 'blue', 'green', '亏喊稿red']

Page({

  data: {

    toView: 'green',

    scrollTop: 100,

    scrollLeft: 0

  },

  //滚动条滚到顶部的时候触发

  upper: function(e) {

    console.log(e)

  },

  //滚动条滚到底部的时候触发

  lower: function(e) {

    console.log(e)

  },

  //滚动条滚动后触发

  scroll: function(e) {

    console.log(e)

  },

  //点击按钮切换到下一个view

  tap: function(e) {

    for (var i = 0i <order.length++i) {

      if (order[i] === this.data.toView) {

        this.setData({

          toView: order[i + 1]

        })

        break

      }

    }

  },

  //通过设置滚动条位置实现画面滚动

  tapMove: function(e) {

    this.setData({

      scrollTop: this.data.scrollTop + 10

    })

  }

})

css

.scroll-view_H{

  white-space: nowrap

}

.scroll-view-item{

  height: 200px

}

.scroll-view-item_H{

  display: inline-block

  width: 100%

  height: 200px

}

横向滚动用法

Tip:

横向滚销孝动无法使用scroll-into-view属性。

当滚动到最左边时会触发bindscrolltoupper事件(具体可留意GIF输出)

当滚动到最右边时会触发bindscrolltolower事件(具体可留意GIF输出)

效果图:

wxml

<scroll-view class="scroll-view_H" scroll-x="true" style="width: 100%"  bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll"  scroll-left="{{scrollLeft}}">

    <view id="green" class="scroll-view-item_H bc_green"></view>

    <view id="red"  class="scroll-view-item_H bc_red"></view>

    <view id="yellow" class="scroll-view-item_H bc_yellow"></view>

    <view id="blue" class="scroll-view-item_H bc_blue"></view>

</scroll-view>

js

var order = ['red', 'yellow', 'blue', 'green', 'red']

Page({

  data: {

    toView: 'green',

    scrollTop: 100,

    scrollLeft: 0

  },

  //滚动条滚到顶部的时候触发

  upper: function(e) {

    console.log(e)

  },

  //滚动条滚到底部的时候触发

  lower: function(e) {

    console.log(e)

  },

  //滚动条滚动后触发

  scroll: function(e) {

    console.log(e)

  },

  //点击按钮切换到下一个view

  tap: function(e) {

    for (var i = 0i <order.length++i) {

      if (order[i] === this.data.toView) {

        this.setData({

          toView: order[i + 1]

        })

        break

      }

    }

  },

  //通过设置滚动条位置实现画面滚动

  tapMove: function(e) {

    this.setData({

      scrollLeft: this.data.scrollLeft + 10

    })

  }

})

wxss

.scroll-view_H{

  white-space: nowrap

}

.scroll-view-item{

  height: 200px

}

.scroll-view-item_H{

  display: inline-block

  width: 100%

  height: 200px

}

主要属性:

属性类型默认值描述

scroll-xBooleanfalse允许横向滚动

scroll-yBooleanfalse允许纵向滚动

upper-thresholdNumber50距顶部/左边多远时(单位px),触发 scrolltoupper 事件

lower-thresholdNumber50距底部/右边多远时(单位px),触发 scrolltolower 事件

scroll-topNumber设置竖向滚动条位置

scroll-leftNumber设置横向滚动条位置

scroll-into-viewString值应为某子元素id,则滚动到该元素,元素顶部对齐滚动区域顶部

bindscrolltoupperEventHandle滚动到顶部/左边,会触发 scrolltoupper 事件

bindscrolltolowerEventHandle滚动到底部/右边,会触发 scrolltolower 事件

bindscrollEventHandle滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}

在开发微信小程序时,有时一些视图在手机指定的宽度和高度不够存放,那么可以放在scroll-view中。

在给scroll-view设置滚动的时候,分为三个步骤:

在给scroll-view设置滚动的时候,分为两个步骤:

滚动到指定的id元素位置,并且给滚动的过程添加动画

日常记录学习~~

参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/cover-image.html

cover-image:覆盖在原生组件之上的图片视图,支持嵌套在 cover-view 里

cover-view:覆盖在原生组件之上的文本视图,支持嵌套 cover-view 、 cover-image ,可在 cover-view 中使用 button

原生组件有:map,video,canvas,camera,live-player,live-pusher

参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/match-media.html

match-media:media query 匹配检测节点,指定一仿春组 media query 规则,满足时,这个节点才会被展示。

参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/movable-area.html

movable-area:是movable-view的可移动区域,必须设置width和height属性,不并芹设置默认为10px

movable-view:可移动的视图容器,在页面中可以拖拽滑动,movable-view必须在movable-area组件中使用,并且必须是直接子节点,否则不能移动。

参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/page-container.html

page-container:“假页”容器备蔽耐组件,效果类似于 popup d出层,页面内存在该容器时,当用户进行返回 *** 作,关闭该容器不关闭页面,当前页面最多只有 1 个容器,若已存在容器的情况下,无法增加新的容器

参数参考官方文档:

https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

scroll-view:可滚动视图区域,使用竖向滚动时,需要给一个固定高度,组件属性的长度单位默认为px

参数参考官方文档:

https://developers.weixin.qq.com/miniprogram/dev/component/share-element.html

具体使用可看官方案例哦

share-element:共享元素,该组件需与page-container组件结合使用

swiper:滑块视图容器,其中只可放置swiper-item组件,否则会导致未定义的行为。

swiper-item:仅可放置在swiper组件中,宽高自动设置为100%

这是我们最熟悉的容器啦~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12497650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存