lumartin 发表于 2012-2-22 19:12:49

【已解决:解释在三楼】为什么我做的这个模仿拖拽相册的原型使用起来图片不能精确定位

每次拖拽动作之后应该定位在下一张图片
但是我做的实力每次拖拽完之后,图片在显示的面板里定位之后又要左右弹出来一点点,始终不能正确显示
大家帮忙看看究竟是哪里有问题

lumartin 发表于 2012-2-22 23:19:32

刚才又琢磨了一下,我把移动的动画效果从“线性”改成了“无”
然后就没了这个问题,说明之前的逻辑是对的

但是想要做出类似于真实拖动的效果,还是要加上动画
那之前的问题应该是在哪。。。?希望有前辈给解答一下,多谢各位

lumartin 发表于 2012-2-23 14:20:51

搞定了
试验了很多方法,得出结论是
在ondragstop事件中,我对移动动态面板的用例定义了动画效果
在实际操作中,当我拖拽完毕松开鼠标之后,动态面板则以动画效果继续移动至我们之前设定的绝对位置
但当我们松开鼠标,动态面板自动移动的时候,仍然会触发我们在ondragstop事件下定义的用例
所以我觉得可能是当图片以动画效果到达设定的绝对位置的时候,再一次触发到了之前设定的左右矩形的热区,于是形成了第二次触发了ondargstop事件【这只是楼主的猜测,不是很确定axure6的机制究竟是怎样】,造成了图片再次以和初次手工拖拽方向相反的移动。这也解释,为什么去掉了动画效果之后,直接将图片定位则不会出现移动的情况

解决方法:再次增加了2个热区,和一个表示当前图片状态的全局变量;目的是增加移动图片用例的前提条件,不会因为图片在移动过程中接触到了热区而再次触发事件用例

最终修改完成的代码如下:
页: [1]
查看完整版本: 【已解决:解释在三楼】为什么我做的这个模仿拖拽相册的原型使用起来图片不能精确定位