Javascript单击并拖动背景不按预期工作

时间:2017-07-06 15:57:03

标签: javascript

我正在尝试点击并在Javascript中拖动背景,因此我制作了this fiddle。但它有一个问题。

当您单击并向左拖动时,背景向右移动,因此我跟踪鼠标的位置,将其与mousedown进行比较,并通过差异滚动主体。但是,当它达到0时,差异是负的,所以如果你移过那个差异,然后再次向右移动,你必须移动你过去的像素数量,这使得它很奇怪。

所以为了解决这个问题,我把这段代码:

if(difX < 0){
    md.x = mm.x;
}

这使得,如果差值小于0(即:到达边缘),则mousedown位置与mousemove相同,因此当您移动到另一侧时,差异不再是负的,并且可以再次开始增加。

问题是当你到达边缘时它会跳跃。

我只在X位置做过这个,但是一旦我解决了,我会为Y做同样的事情。提前谢谢!

1 个答案:

答案 0 :(得分:0)

没关系,解决了,问题是sl变量在达到负差异时没有改变,所以它使用了存储在mouseup上的那个并且由于这些数字之间的差异而跳跃了, here's the solved fiddle