javascript移动端实现企业图谱

2020-06-25  本文已影响0人  阿明先森

javascript移动端实现企业图谱

心理对抗阶段


直面困难


干就完了

在泥潭的边缘谨慎试探
饭要吃,需求也要做
image.png

serch一下,有类似开发需求的人肯定是大有人在。这两个方案都是可行的,我选择的是上面那个,考虑到整个js还是挺大的,import进去会明显增大原来js包的体积,js可以并发请求(6个),不太会造成页面堵塞,js标签引入个人感觉纯净一些。

  1. 既然原始图谱的项目是基于jquery的,必定是要在引入之前先引入jquery。
  2. 需要将整个项目封装成一个方法,并挂载到全局window上,供vue项目调用。
  3. 同时,原图谱项目是基于es6的面向对象写法,也需要借助webpack等工具打包并babel编译成向下兼容es5的写法。
山的后面是什么?--另一座山
image.png

这个multiple应该就是双指缩放事件,但是直接写multiple是报错的,
官方解释只是说
“双击和双击启动一个转换,它会发出开始、缩放和结束事件。”
但是这完全不知道该如何书写呀。看来D3的文档被社区吐槽也是有原因的~

原理就是当触发touchstart时候,检测当前触摸点是否大于1,
event.touches.length == 1 即为拖动开始
event.touches.length >= 2 即为双指缩放开始
然后touchmove的时候再同样判断一次,如果是拖动则根据move的位置和start时候的位置计算出滑动距离,用transform进行偏移;
如果是双指, point0 = event.touches[0] 与point1 = event.touches[1]两个坐标点,用勾股定理计算一下手指间距,start的间距与move时候的间距差M,从而得知手指是张开还是收缩的动作,然后自定义一个缩放步伐,即每触发一次缩放的比例,也可以选择用用户手指的动作幅度(M),来决定缩放比例。

上一篇 下一篇

猜你喜欢

热点阅读