• UNIAPP----video标签层级问题的三种解决方法


    uniapp的app端,video标签层级过高,无法轻易被遮盖。

    三种解决方法,真机测试没问题。代码复制即可。

    1.cover-view或者cover-image,放在video标签内使用,子绝父相

    缺点:只能改变cover-view样式,无法嵌套view。具体查看官网讲解。

    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. }
    6. },
    7. methods: {
    8. }
    9. }
    10. script>
    11. <style>
    12. style>

    2.subnvue 创建原生子窗体,放在当前页面下,放好位置即可。

    首先创建目录页面,nvue文件。最好放入同级。

     

     完整代码:

    实验页面

    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. }
    6. },
    7. onLoad() {
    8. const subNvue = uni.getSubNVueById('subNvue'); // 这个id是pages.json下绑定的唯一id
    9. // subNvue.hide();//标识初始隐藏
    10. //show方法显示,
    11. // 下面是初始创建位置
    12. // 第一个参数子窗体动画效果
    13. // 第二个参数持续时间
    14. // 第三个参数修改样式函数
    15. subNvue.show('none', 0, () => {
    16. subNvue.setStyle({
    17. top: '90px',
    18. right: '20px',
    19. width: '90px',
    20. height: '114px'
    21. });
    22. });
    23. },
    24. methods: {
    25. }
    26. }
    27. script>
    28. <style>
    29. style>

    子窗体代码

    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. }
    6. },
    7. methods: {
    8. }
    9. }
    10. script>
    11. <style>
    12. style>

    pages.json

    1. {
    2. "path" : "pages/index/aaa",
    3. "style" :
    4. {
    5. "navigationBarTitleText": "",
    6. "enablePullDownRefresh": false,
    7. "app-plus": {
    8. "subNVues": [
    9. {
    10. "path": "pages/index/subNvue/subNvue",//路径地址
    11. "id": "subNvue",//唯一id,一个页面下最多三个最好,否则影响性能
    12. // "type": "popup" 如果是弹窗可开启
    13. //这个是初始样式,当然初始想隐藏的话,这个不重要
    14. "style": {
    15. "width": "100%",
    16. "height": "100px"
    17. }
    18. }
    19. ]
    20. }
    21. }
    22. }

    3.plus.nativeObj.View()  绘制原生画布,有点击事件。不属于dom,可以覆盖webview和各种原生控件

    首先onload时创建画布。

    完整代码

    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. view:''
    6. }
    7. },
    8. onLoad() {
    9. this.view = new plus.nativeObj.View(
    10. 'viewHotFixView',
    11. {
    12. top: '132px', // 下面均可用变量控制
    13. left: '0',
    14. width: '100%',
    15. height: '600px',
    16. position: 'dock'
    17. },
    18. [
    19. {
    20. tag: 'img',
    21. id: 'bgroundicon',
    22. position: {// 下面均可用变量控制
    23. top: '0px',
    24. left: '0px',
    25. width: '100px',
    26. height: '100px'
    27. },
    28. src: '/static/logo.png'
    29. }
    30. ]
    31. );
    32. setTimeout(() => {
    33. this.view.show();
    34. }, 300);
    35. this.view.addEventListener(
    36. 'click',
    37. e => {
    38. this.view.hide();
    39. },
    40. false
    41. );
    42. },
    43. methods: {
    44. }
    45. }
    46. script>
    47. <style>
    48. style>

    将new plus.nativeObj.View对象赋给this.view

    也可以直接写入data前面赋值。不过那样就不能用变量控制宽度。

    离开页面记得隐藏,  hide()方法,否则一直在页面上,级别很高。

    内置浏览器等无法看到,真机调试没问题。

    三种方法基本使用,多看看代码实验几次就知道适合哪种。

  • 相关阅读:
    App的回归测试,有什么高效的测试方法?
    jwt的简介以及jwt工具类的介绍
    学习MLPERF
    Redis进阶知识一览
    LeetCode //C - 142. Linked List Cycle II
    [Android]Android P(9) WIFI学习笔记 - 扫描 (3)
    vue2全家桶-vuex
    如何保存/同步多架构容器 Docker 镜像
    网关 GateWay 的使用详解、路由、过滤器、跨域配置
    Java 中的设计模式
  • 原文地址:https://blog.csdn.net/weixin_44126737/article/details/126831563