收藏
回答

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不确定,用户可以任意添加或删除

最后一次编辑于  2018-01-27  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

10 个回答

  • 陈信安
    陈信安
    2018-09-08

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


    2018-09-08
    赞同
    回复
  • trso
    trso
    2018-02-02

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

    2018-02-02
    赞同
    回复
  • 前程四紧
    前程四紧
    2018-02-02

    还是有延时

    2018-02-02
    赞同
    回复
  • trso
    trso
    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
    赞同
    回复
  • 前程四紧
    前程四紧
    2018-01-27

    PS:手机测试有延时,开发者工具没问题

    2018-01-27
    赞同
    回复