0

我有一个画布,我在其中单击并拖动图像,但它们不断“捕捉”回到它们的起点,这真的很烦人。我不知道为什么我无法解决我在逻辑上犯的错误。

我的mousemove活动有:

function updt(evt) {
        var difx = evt.pageX - clickx;
        var dify = evt.pageY - clicky;
            offsets.cur_offsetx = init_offsetx - difx; 
            offsets.cur_offsety = init_offsety - dify;

        if (offsets.cur_offsetx < 0) {
                offsets.cur_offsetx = 0; 
                clickx = evt.pageX;
        }

        if(offsets.cur_offsety < 0){
                offsets.cur_offsety = 0; 
                clicky = evt.pageY; 
        }
    }

我做了一个 jsfiddle 来重新创建问题:http: //jsfiddle.net/jQkNv/1/

单击并向右拖动鼠标,它将不断将图像捕捉回其原始起点。

我该如何解决?

4

1 回答 1

3

现场演示

将其更改为以下内容对我有用。

    if (offsets.cur_offsetx <= 0) {
            offsets.cur_offsetx = 0; 
    }

    if(offsets.cur_offsety <= 0){
            offsets.cur_offsety = 0; 
    }

编辑我停止更新xy它似乎工作。

于 2013-08-05T03:16:26.640 回答