我有一个 Canvas ,我在其中单击并拖动图像,但它们不断“捕捉”回起点,这真的很烦人。我不知道为什么我无法解决我在逻辑中犯下的错误。
我的 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/
单击鼠标并将其向右拖动,它会不断地将图像捕捉回其原始起点。
我该如何解决这个问题?
最佳答案
<强> Live Demo
将其更改为以下内容对我有用。
if (offsets.cur_offsetx <= 0) {
offsets.cur_offsetx = 0;
}
if(offsets.cur_offsety <= 0){
offsets.cur_offsety = 0;
}
编辑我停止更新x
和y
,它似乎有效。
关于javascript - Canvas 因鼠标移动事件而闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050005/