2013-09-26 34 views
0

我正在为需要在2轴可滚动比例上绘制垂直线的企业项目创建自定义jQuery UI控件。这是我目前使用的,从我发现是“最佳实践”:Raphaël,绘制垂直线并调整其大小

var tick = this.eventsPaper.path("M" + x + ",0L" + x + "," + this._height).attr({ 
    stroke: this.options.eventsForeground 
})s 

在那eventsPaper是可以通过这样做来插入和移除和,事件可能会更改垂直(即。this._height)显示所有事件所需的事件文件。

现在,我正在清除所有线条,并在每次高度变化时重新绘制所有线条,但我希望通过调整垂直线条来优化此部分。

  1. 这是个好主意吗?
  2. 实现此目标的最佳(最快)方法是什么?
    1. 如果不是,我想重画所有这些行最理想的方式,对不对?

谢谢。

回答

1

如果不重新创建线条,大多数UA会更快。

比方说,你的元素是这样的......

<path id="path1" d="M5,0L5,10"/> 

所以

var path = document.getElementById("path1"); 
var start = path.pathSegList.getItem(0); 
var end = path.pathSegList.getItem(1); 

// and now you can do things like this... 

start.y = 20; 
end.y += 50; 
+0

谢谢SVG高手! –