使画布水平和垂直滚动

时间:2018-03-04 16:40:50

标签: javascript html css canvas

我正在使用<canvas>建立世博会的楼层平面图。

通过一些研究和反复试验,我设法让我的<canvas>水平滚动。如下所示Floor Plan Map - Horizontal Only

但我想让我的<canvas>滚动/移动到用户想要的任何地方。示例:同时垂直和水平滚动。

我尝试添加一个Y轴,但它只是通过一些奇怪的鼠标交互对角滚动。这是管理滚动的行的摘录:

function drawSettings(){
var dragging = false;
var lastX;
var lastY;
var marginLeft = 0;
var marginTop = 0;

//Scroll settings start
canvas.addEventListener('mousedown', function(e) {
    var evt = e || event;
    dragging = true;
    lastX = evt.clientX;
    lastY = evt.clientY;
    e.preventDefault();
}, false);

window.addEventListener('mousemove', function(e) {
    var evt = e || event;
    if (dragging) {
        var delta = evt.clientX - lastX;
        lastX = evt.clientX;
        lastY = evt.clientY;
        marginLeft += delta;
        marginTop += delta;
        canvas.style.marginLeft = marginLeft + "px";
        canvas.style.marginTop = marginTop + "px";
    }
    e.preventDefault();
}, false);

window.addEventListener('mouseup', function() {
    dragging = false;
}, false);
//Scroll settings end
}

以上示例的结果:Floor Map Plan - Diagonal Error

我该如何解决这个问题?

编辑后续参考: Floor Plan Map - FULLY WORKING

1 个答案:

答案 0 :(得分:0)

您可以执行横向拖动操作,也可以执行垂直拖动操作,如下所示:

for i in healthcare:
  df=pd.read_csv('C:\\Users\\Enric\\Desktop\\python\\tickers\\'+i+'.csv',index_col=None, header=0)
  df1_ = df[(df['date'] > '2017-01-01') & (df['date'] <= '2018-01-01')]
  list=[]
  list.append(df1_)