小程序video组件层级太高如何解决

论坛 期权论坛 脚本     
匿名技术用户   2020-12-27 10:40   11   0

小程序video组件层级太高如何解决

小程序首页用了一个video组件,然后modal组件的悬浮窗就被这个video覆盖了,因为原生组件的层级太高,用z-index是没有办法解决的。

以下是我刚开始写的代码,不管怎么设置z-index,视频总在悬浮层上面。

 <view>
     <modal title="请选择" cancel-text="取消" confirm-text="确定" hidden="{{mHidden}}"    bindcancel="cancel" bindconfirm="confirm">
      <text>这里面写悬浮层要展示的内容</text>
     </modal>
 </view>
 <view class="myVideo">
      <video id="myVideo" src="{{video_url}}"></video>
 </view>

这里使用cover-view是不行的,因为cover-view组件内只能包含cover-view,cover-image,button组件,所以显然,拥有modal和text组件在其内部就不行,如果用了,那么在开发者工具里面是可以显示的,但是手机上就不显示悬浮层了。

所以不能用modal组件来实现,我们就只能用cover-view组件自己来写了,这里通过接口文件返回的mHidden值(true或false)来决定悬浮层的显示和隐藏:

<cover-view class='Toast_bj' hidden='{{mHidden}}'></cover-view>
<cover-view class="myToast" hidden="{{mHidden}}">
    <cover-view>这里面写悬浮层要展示的内容</cover-view>
    <cover-view class="cancel button" bindtap="cancel">取消</cover-view>
    <cover-view class="confirm button" bindtap="confirm">确定</cover-view>
</cover-view>
<view class="myVideo">
     <video id="myVideo" src="{{video_url}}"></video>
</view>

注意:class='Toast_bj’这个是悬浮层的蒙版,必须放在悬浮层class="myToast"前面的位置,因为cover-view组件由先后顺序决定层级,越靠后的cover-view组件层级越高,如果把蒙版放在悬浮层后面,那么悬浮层的按钮就失效了,所以要放悬浮层前面。

悬浮层里面的按钮也用cover-view组件来写,用bindtap组件绑定事件。

悬浮层有样式的话可以在wxss里面写,但是要注意cover-view组件只支持基本的定位,布局,文本样式,不支持一些css属性,比如:border,background-image,shadow,overflow,visible等。

如果使用modal的,也可以在modal显示的时候隐藏video,modal隐藏的时候再显示video,这个可以根据项目需求而定。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP