【问题标题】:Not able to scroll Raphael Canvas along with Ext Js Grid Panel无法与 Ext Js 网格面板一起滚动 Raphael Canvas
【发布时间】:2015-05-06 13:19:12
【问题描述】:

我使用 Ext js 在网格面板中创建了多个网格。我使用 Raphael 创建的箭头连接了 2 个网格。我的网格面板是可滚动的,当我滚动网格面板时,网格会随之滚动,但在纸上创建的箭头仍保留在它们创建的位置。请帮帮我。

下面是我创建的面板的 Ext js 代码。我在此面板上拖放网格。

    new Ext.TabPanel({
            id : 'xxx',
            region : 'center',
            deferredRender : false,
            activeTab : 0,
            items : [ {
                id : 'tabId',
                contentEl : 'center1',
                title : 'Editor_DragDrop',
                closable : true,
                autoScroll : true,
                enableDrop : true,
                html : '<div class="hospital-target"></div>',
                listeners : {
                    afterrender : initializeDropZone
                }
            }
       }

以下是我创建拉斐尔画布的代码。我在面板上创建了它。此画布用于在两个网格之间绘制箭头。

var width = Ext.getCmp('tabId');
                var tabPos = Ext.getCmp('tabId').getPosition();
                var xpos = this.grid.getWidth() ;
                var ypos = tabPos[1] ;
                this.raphaelCanvas = new Raphael(tabPos[0],ypos,width.getWidth(),width.getHeight());
                canvas=this.raphaelCanvas;

在面板上绘制网格。箭头绘制在面板上方的拉斐尔画布上。它们实际上并没有联系在一起。当我滚动面板时,面板上存在的所有对象都会滚动。但由于画布未链接到面板,因此它保持静态。

以下图片可帮助您更好地理解它。

滚动前:

滚动后:

【问题讨论】:

  • 您需要在问题中添加一些 HTML。
  • 我试图解释我编写的代码。让我知道是否需要在我的问题中添加其他内容。

标签: javascript jquery extjs raphael


【解决方案1】:

在窗口中获取网格.. 并捕获窗口的浮动/移动事件。并根据窗口的位置改变线的坐标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多