1***@qq.com
1***@qq.com
  • 发布:2023-01-07 21:55
  • 更新:2023-01-07 21:58
  • 阅读:288

【报Bug】renderjs做可拖拽得悬浮小窗视频,App端外层view被拖动了,视频不会动

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.6.15

手机系统: Android

手机系统版本号: Android 12

手机厂商: vivo

手机机型: vivoX80

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
复制代码javascript  
<template>  
    <view class="dargbox" id="dargbox" style="top: 0;left: 0;" @touchstart="renDer.touchstart"  
        @touchmove="renDer.touchmove" @touchend="renDer.touchend">  
        <video class="player" :enable-progress-gesture="false"  
            src="https://yosm-file.aushanviviin.com/pc/upload/video/2022/07/62de0def6e161.mp4"></video>  
    </view>  
</template>  

<script module="renDer" lang="renderjs">  
    let pageX  
    let pageY  
    export default {  
        mounted() {  
            let dargbox = document.getElementById('dargbox')  
            console.log(dargbox.style.top)  
            console.log(dargbox.style.left)  
        },  
        methods: {  
            touchstart(e) {  
                pageX = e.changedTouches[0].pageX  
                pageY = e.changedTouches[0].pageY  
            },  
            touchmove(e) {  
                let moveX = e.changedTouches[0].pageX - pageX  
                let moveY = e.changedTouches[0].pageY - pageY  

                let dargbox = document.getElementById('dargbox')  
                let position = dargbox.getBoundingClientRect()  

                dargbox.style.left = position.x + moveX + 'px'  
                dargbox.style.top = position.y + moveY + 'px'  

                pageX = e.changedTouches[0].pageX  
                pageY = e.changedTouches[0].pageY  
            },  
            touchend() {  

            },  
        }  
    }  
</script>  

<style lang="less">  
    .dargbox {  
        width: 180px;  
        height: 248px;  
        position: absolute;  
        background-color: #000;  
        border-radius: 10rpx;  

        video {  
            width: 100%;  
            height: 100%;  
        }  
    }  
</style>  

操作步骤:

新建页面,复制粘贴示例代码,运行到App端

预期结果:

类似拼多多商品详情页的悬浮可拖拽的直播小窗口

实际结果:

view被拖动了,video标签不动

bug描述:

video标签在view里面,renderjs改变view的top和left,视频不动

2023-01-07 21:55 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

安卓手机@touchmove拖动视频窗口好卡,超级卡,所以希望可以用renderjs实现

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容