起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 260769741

[结贴] touch 疑问

[复制链接]

3

主题

29

帖子

105

积分

初级会员

Rank: 2

积分
105
QQ
发表于 2017-1-6 14:17:34 | 显示全部楼层
两年过去了
回复 支持 反对

使用道具 举报

发表于 2017-1-6 15:02:52 | 显示全部楼层
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

29

帖子

105

积分

初级会员

Rank: 2

积分
105
QQ
发表于 2017-1-6 15:47:45 | 显示全部楼层
liangyongfei 发表于 2017-1-6 15:02
http://docs.wex5.com/wex5-ui-question-list-2112

版主您好,这个方法实际上与把touch.on('#' + id, 'pinch', function(ev){});和touch.on('#' + id, 'drag', function(ev){});两个写在一起是一样的效果:拖拽可以实现,缩放就回去了图片开始的位置,不能再拖拽位置缩放。写在了一起但是是完全分开的实现。
我理解的是应该记录一个平移的偏移量和一个缩放的偏移量,这样在平移之前取到图片的缩放大小,在缩放之前取到图片的平移位置,请问有这方面的API或者demo吗,谢谢
回复 支持 反对

使用道具 举报

发表于 2017-1-6 16:14:34 | 显示全部楼层
dxsbj 发表于 2017-1-6 15:47
版主您好,这个方法实际上与把touch.on('#' + id, 'pinch', function(ev){});和touch.on('#' + id, 'drag ...

图片偏移量记录在全局变量中!每次修改它的值,就可以了!
每个监听事件中都使用这个值渲染图片
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

29

帖子

105

积分

初级会员

Rank: 2

积分
105
QQ
发表于 2017-1-6 16:23:17 | 显示全部楼层
liangyongfei 发表于 2017-1-6 16:14
图片偏移量记录在全局变量中!每次修改它的值,就可以了!
每个监听事件中都使用这个值渲染图片 ...
  1. var dx, dy; //偏移
  2.         var initialScale = 1;
  3.         var currentScale; // 缩放
  4.         Model.prototype.pinch = function(event) {
  5.                 var id = this.getIDByXID('pinch');
  6.                 var target = document.getElementById(id);
  7.                 // target.style.webkitTransition = 'all ease 0.05s';

  8.                 touch.on('#' + id, 'touchstart', function(ev) {
  9.                         ev.preventDefault();
  10.                 });

  11.                 touch.on('#' + id, 'drag', function(ev) {
  12.                         dx = dx || 0;
  13.                         dy = dy || 0;
  14.                         var offx = dx + ev.x + "px";
  15.                         var offy = dy + ev.y + "px";
  16.                         this.style.webkitTransform = "translate3d(" + offx + "," + offy + ",0)";
  17.                 });

  18.                 touch.on('#' + id, 'dragend', function(ev) {
  19.                         dx += ev.x;
  20.                         dy += ev.y;
  21.                 });

  22.                 touch.on('#' + id, 'pinch', function(ev) {
  23.                         ev.hasStopedPropagation = true;
  24.                         currentScale = ev.scale - 1;
  25.                         currentScale = initialScale + currentScale;
  26.                         currentScale = currentScale < 1 ? 1 : currentScale;
  27.                         this.style.webkitTransform = 'scale(' + currentScale + ')';
  28.                 });

  29.                 touch.on('#' + id, 'pinchend', function(ev) {
  30.                         initialScale = currentScale;
  31.                 });
  32.         };
复制代码

麻烦您看一下这样有什么问题吗,这样子改完以后缩放和偏移都能记录,但是还是合不到一起去
回复 支持 反对

使用道具 举报

发表于 2017-1-6 16:49:40 | 显示全部楼层
dxsbj 发表于 2017-1-6 16:23
麻烦您看一下这样有什么问题吗,这样子改完以后缩放和偏移都能记录,但是还是合不到一起去 ...

参考下他人的做法吧
http://bbs.wex5.com/forum.php?mod=viewthread&tid=87643    http://bbs.wex5.com/forum.php?mo ... 6&pid=165224655

http://bbs.wex5.com/forum.php?mod=viewthread&tid=112647


整个需要真机调试才知道原因
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

29

帖子

105

积分

初级会员

Rank: 2

积分
105
QQ
发表于 2017-1-9 10:34:01 | 显示全部楼层
liangyongfei 发表于 2017-1-6 16:49
参考下他人的做法吧
http://bbs.wex5.com/forum.php?mod=viewthread&tid=87643    http://bbs.wex5.com/f ...

参考了一下还是没能解决,我自己再去想想办法吧,谢谢版主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-27 06:03 , Processed in 0.048891 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表