zoukankan      html  css  js  c++  java
  • 拖放

    ※ 需求是从设备列表中拖动设备放到区域中

    页面分上下两部分,上部分用 swiper 来展示区域块,一屏两行三列,更多的区域通过左右滑动来查看
    下部分的设备列表用分页的形式展示

    拖动依旧是老套路使用鼠标按下、鼠标移动和鼠标抬起事件
    事先准备一个遮罩层,区域块的 z-index 要比遮罩层高,这样拖放设备的时候区域块就有了高亮

    鼠标按下时根据当前设备和鼠标的坐标,动态创建一个 div id为 sign,并注册鼠标移动事件,让 sign 跟着鼠标移动
    这样就有了拖拽的效果,同时也为区域块注册鼠标进入事件,这样就知道鼠标移动到了哪个区域块

    由于 sign 的遮挡,鼠标进入区域时不会触发鼠标进入事件
    注册鼠标抬起,抬起时删除 sign ,鼠标下所在的区域块触发鼠标进入事件,这样就知道哪个设备到了哪个区域,为哪个区域添加 div 以表示设备已添加到该区域

    有个问题是鼠标移动太快(疯狂来回移动时),sign 的移动有延迟,跟不上鼠标移动速度,没了 sign 的遮挡,会多次触发区域的鼠标进入事件,可以设置 sign 的伪元素 ::after,伪元素要足够大,这样无论鼠标移动多快,都不会超出 sign 的遮挡范围

    ※ 页面内有可切换的1、4、9、16画面的视频,每个视频位置可随意拖动更改
    使用了基于 vue 的 vuedraggable 插件实现
    另外页面最右侧有设备列表,也要实现拖拽到播放区进行播放,因为播放区视频和设备列表不是同一个 v-for 渲染的,所以插件可能不管用
    这次使用了了 h5 的拖放事件

  • 相关阅读:
    android调试推荐使用BlueStacks模拟器调试Android应用
    目录文件Oracle11g彻底删除
    进程间通信学习APUE学习进程间通信(4)
    android选择Windows 8 下配置Cocos2dx + Android + Eclipse 的开发环境
    windbg API 跟踪
    symchk 获取符号文件(PDB)
    acs for PEAPMSCHAPV2
    peapMSCHAPV2
    vs2005 "Key not valid for use in specified state"
    NetUserGetInfo NetUserAdd
  • 原文地址:https://www.cnblogs.com/Grani/p/11865708.html
Copyright © 2011-2022 走看看