1
我在我的javascript(邏輯錯誤)中遇到了一個奇怪的故障,我不確定它的數學方式或我的結構代碼。在我的腳本中移動圖像的故障
我的想法是左鍵單擊並拖動以在畫布上滾動地圖。它完美地工作,除了當我向下滑動第二次滾動時,地圖重置回它的x0y0偏移量。
所以基本上我不能繼續滾動,因爲只要我放開鼠標,並重新開始它的背部。
所以這是我做的:
//this is in the init function called on body load
canvas.addEventListener("mousedown", mousePos, false);
//relevant functions
function mousePos(e){
mousex = e.pageX;
mousey = e.pageY;
canvas.addEventListener("mousemove", movePos, false);
}
function movePos(e){
canvas.addEventListener('mouseup',onMouseUp,false);
offset_x = e.pageX - mousex; //pixels to move the map along x
offset_y = e.pageY - mousey; //pixels to move the map along y
}
function onMouseUp(){
// on mouse up stop moving the map
canvas.removeEventListener('mousemove',movePos,false);
}
任何想法?
只有一次instaled好鼠標起來就是停止地圖所抵消 - 所以一旦你離開了鼠標按鍵映射停止移動的去 - 但我仍然需要得到x和在稍後的日期點擊鼠標位置以便點擊可用對象。所以我認爲那是最好的地方。 offset_x和offset_y是腳本頂部的全局變量: var offset_x = 0; var offset_y = 0; 只有上面顯示的函數改變它們的值。然後我在draw()函數中使用它們。但由於某些未知的原因,鼠標將其重置爲原來的位置。 = / – Sir 2012-02-26 03:31:26