2012-03-09 62 views
1

我正在使用Raphael JS形状的流程图。这是动态的;即我不知道我将在拉斐尔js画布上绘制多少个图表。它可以有10拉斐尔形状或可能有数百个,即它会垂直增长。需要在Raphael Canvas上滚动

我面临着以下问题:

  1. 形状走出去拉斐尔画布。我想增加/减少Canvas的大小,具体取决于形状的数量。
  2. 我想要一个拉斐尔帆布周围的滚动框。我不想使用浏览器滚动,因为我在同一页面上还有其他内容,所以我只想滚动拉斐尔形状的区域,而不是整个页面。

是否可以实现这两种效果?

+2

而问题是??? – freakish 2012-03-09 20:49:08

+0

@freakish。对此感到遗憾。更新了问题 – JDev 2012-03-09 21:06:54

回答

1

我收集你的问题,你想知道如何把很多东西(或一个大的东西)放入<div>,并有滚动条。要做到这一点,你只需要CSS的一行在该分区:

overflow-y: auto; 

下面是一个例子:http://jsfiddle.net/yJGGE/

在你的情况,正好被设置为任何你想要的最大尺寸,以“滚动框”的大小是,并把你的图形里面。如果图形溢出滚动框的高度,则会出现滚动条。

希望可以帮到

+0

感谢您的快速响应。另一个问题是形状从画布中走出。如何调整画布的大小取决于形状的数量。我无法硬编码画布大小,因为数字形状是动态的。 – JDev 2012-03-09 21:43:41

+0

为了获得Raphael形状的卷轴,我将Raphael画布放在DIV元素中,并保持Div小于画布的大小,然后使用Raphael js setSize函数来调整画布大小并获取形状卷轴。由于我有固定的高度和宽度的形状,我可以计算画布的高度和宽度取决于我绘制的形状的数量.. – JDev 2012-03-23 00:11:35