收藏
回答

touchmove拖动元素,处理复杂数据时延时严重

框架类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Android7.1.1, iOS11.2.2 三星c9 Pro, iPhone6 6.6.1

bindtouchmove拖动,旋转,缩放元素,setData处理复杂数据时,有明显延时,延时时间大约在半秒到一秒左右,数据简单时延时不明显


我们平台是做商品定制的,需要对多个元素进行拖动,缩放,旋转等功能,元素数据存放在一个数组里,包括top,left,rotate,scale,z-index,中心点等值,touchmove时,用setData对数组赋值,页面展现的效果延时严重


组件用的是movable-view

数据结构

[

    {

        active: true, // 是否选中

        first: true, // 是否第一次加载

        src: '', // 图片链接

        width: 0,  // 父级宽度

        height: 0, // 父级高度

        top: 0, // 父级top值

        left: 0, // 父级left值

        centerX: 0, // 中心点x坐标

        centerY: 0, // 中心点y坐标

        rotate: 0, // 旋转角度

        imgInfo: { // 子级图片信息

            width: 0, // 子级图片宽度

            height: 0, // 子级图片高度

            x: 0, // 子级图片中心点x坐标

            y: 0, // 子级图片中心点y坐标

            top: 0, // 子级图片top值

            left: 0 // 子级图片left值

        },

        z: 1 // z-index值

    }

]

数组length不确定,用户可以任意添加或删除

回答关注问题邀请回答
收藏

11 个回答

  • 军
    2023-04-15

    请问您解决了吗?本人写了一个拖拽进度条开发工具和ios 没有问题但是安卓不可以,问题就是在touchmove事件中频繁调用setData,也必须实时调用 setData,求解

    2023-04-15
    有用
    回复
  • 陈信安
    陈信安
    2018-09-08

    请问楼主你是怎么用movable-view 做旋转的


    2018-09-08
    有用
    回复
  • 刘亚东
    刘亚东
    2018-02-02

    要写判断,不要时时setData,在需要的时候写节流函数

    2018-02-02
    有用
    回复
  • 前
程
四
紧
    前 程 四 紧
    2018-02-02

    还是有延时

    2018-02-02
    有用
    回复
  • 刘亚东
    刘亚东
    2018-02-02
    capture-catch:touchstart
    capture-catch:touchmove
    capture-catch:touchend

    全部换掉,是可以做的,但是安卓还是有一点点卡顿,但基本能接受

    2018-02-02
    有用
    回复
  • 前
程
四
紧
    前 程 四 紧
    2018-02-01

    求解决

    2018-02-01
    有用
    回复
  • 前
程
四
紧
    前 程 四 紧
    2018-01-27

    必须实时赋值

    2018-01-27
    有用
    回复
  • 赵青山
    赵青山
    2018-01-27

    js好像有节流一说,这个看你需求的,能实现降低频率或拖动结束后赋值

    2018-01-27
    有用
    回复
  • 前
程
四
紧
    前 程 四 紧
    2018-01-27

    拖动元素肯定得赋值啊,难道不是这样赋值吗?

    2018-01-27
    有用
    回复
  • 赵青山
    赵青山
    2018-01-27

    touchmove时,用setData对数组赋值,是不是赋值太频繁了?

    2018-01-27
    有用
    回复

正在加载...

登录 后发表内容